Du skapar din vy (view) för dagboksinlägg i InterfaceBuilder. En helt ny *.xib-fil som heter t.ex. CreateNewDiaryView.xib
I den xib-filen har du en View och de gui-element som dagboksinlägget behöver (TextView, DatePicker, mm)
Du skapar sedan en view-controller klass i XCode som du lämpligen döper till CreateNewDiaryViewController. Den klassen ska förstås ärva UIViewController.
I InterfaceBuilder ska du nu ändra så att File's Owner i CreateNewDiaryView.xib blir av typen CreateNewDiaryViewController.
I den vy (låt oss kalla den DiaryViewController) där du har en knapp eller liknande för att skapa ett nytt dagboksinlägg gör du följande:
@implementation DiaryViewController
...
-(IBAction)createNewDiary: (id)sender {
...
CreateNewDiaryViewController *controller = [[CreateNewDiaryViewController alloc] initWithNibName:@CreateNewDiaryView bundle:nil];
[self presentModalViewController:controller animated:NO];
...
}
För att ta bort den modala vyn skall samma vy som skapade den modala dialogen göra följande:
[self dismissModalViewControllerAnimated:NO];
för att lösa det brukar den modala dialogens klass (CreateNewDiaryViewController) ha en pekare till vy som skapade och visade den modala dialogen (DiaryViewController):
@implementation DiaryViewController
...
-(IBAction)createNewDiary: (id)sender {
...
CreateNewDiaryViewController *controller = [[CreateNewDiaryViewController alloc] initWithNibName:@CreateNewDiaryView bundle:nil];
controller.diaryViewController = self;
[self presentModalViewController:controller animated:NO];
...
}
@implementation CreateNewDiaryViewController
...
-(IBAction)cancel: (id)sender {
...
[diaryViewController dismissModalViewControllerAnimated:NO];
...
}
Allt är kanske inte 100% korrekt eftersom det bara är fragment av kod men förhoppningsvis förstår du hur man gör. Jag kan ju inte heller svära på att det här är det optimala sättet att lösa det på.