Wie Schieben Sie einen UIViewController mit NIB-Datei
Ich bin neu in der iOS-Entwicklung, und ich habe eine große Kopfschmerzen etwas nicht zu verstehen, dass sein kann ziemlich einfach.
Im Grunde bin ich mit einem UITableViewController, gehen Sie zu einem anderen UITableViewController, aber dann muss ich gehen aus dieser zweiten UITableViewController zu einem UIViewController. Ich möchte dieses UIViewController zu haben .xib-Datei für mich schnell zu einer UI, aber ich kann nicht scheinen, einen Weg zu finden, um push aus der Zweiten UITableViewController dieser UIViewController.
Ich schaffte es programmatisch zeigen, ein Aufkleber, aber nicht ein UI aus .xib.
Dies ist der code, der arbeitet mit dem programmatischen label:
- (void)tableView:(UITableView *)tableView
accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
self.detailController.title = @"Disclosure Button Pressed";
NSString *selectedMovie = self.movies[indexPath.row];
NSString *detailMessage = [[NSString alloc]
initWithFormat:@"This is details for %@.",
selectedMovie];
self.detailController.message = detailMessage;
self.detailController.title = selectedMovie;
[self.navigationController pushViewController:self.detailController
animated:YES];
}
- Und dies ist die .m von der UIViewController, die Werke zu zeigen, UILabel programmatisch.
@implementation BIDDisclosureDetailViewController
- (UILabel *)label;
{
return (id)self.view;
}
- (void)loadView;
{
UILabel *label = [[UILabel alloc] init];
label.numberOfLines = 0;
label.textAlignment = NSTextAlignmentCenter;
self.view = label;
}
- (void)viewWillAppear:(BOOL)animated;
{
[super viewWillAppear:animated];
self.label.text = self.message;
}
@end
Grundsätzlich möchte ich nicht jedes UIObject-Programm, ich brauche eine .xib erstellen der Benutzeroberfläche.
Dank
(iOS 6, nicht mit storyboards)
Wenn Sie iOS 6, warum xibs statt ein storyboard? Ich sehe keinen Grund, xibs mehr, es sei denn, Sie sind den Umgang mit legacy-code.
InformationsquelleAutor Symphonicmind | 2013-04-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laden ein
UIViewController
aus einer xib-ist einfach. Wenn Ihr tableview delegate schickt diedidSelectRowAtIndexPath:
Nachricht können Sie laden, bis eine xib und präsentieren den view-controller wie folgt:Einige Dinge zu beachten:
initWithNibName:bundle:
loadView
code, den Sie haben, die gab es auch, es wird Durcheinander zu bringen, wenn Sie versuchen, verwenden Sie die xib.Seite beachten! sollten Sie keine Semikolons am Ende der Methode Signaturen wie diese:
Gilt es als schlechte form.
Hoffe, das hilft!
InformationsquelleAutor Dan Fairaizl
Verwenden Sie das obige Verfahren, um die push-to-view-controller, wenn eine bestimmte Zeile ausgewählt
InformationsquelleAutor Kasaname