【发布时间】:2014-07-04 22:52:49
【问题描述】:
我有 一个 原始视图控制器和 四个 目标视图控制器。我希望能够 push 使用导航控制器将原始视图控制器 ALL 移至目标视图控制器。我试过了……
- (IBAction)notificationsButtonPushed:(id)sender {
NotificationsViewController *notifications = [[NotificationsViewController alloc]init];
[self.navigationController pushViewController:notifications animated:YES];
}
- (IBAction)messagesButtonPushed:(id)sender {
MessagesViewController *messages = [[MessagesViewController alloc] init];
[self.navigationController pushViewController:messages animated:YES];
}
- (IBAction)settingsButtonPushed:(id)sender {
if (canMessage) {
SettingsViewController *settings = [[SettingsViewController alloc]init];
[self.navigationController pushViewController:settings animated:YES];
}
else {
NSLog(@"Can't Message");
}
}
- (IBAction)previewButtonPushed:(id)sender {
PreviewViewController *preview = [[PreviewViewController alloc]init];
[self.navigationController pushViewController:preview animated:YES];
}
这只是给了我一个没有 UI 组件的空视图控制器。
注意:我也厌倦了“initWithNidName:”并传入了每个目标视图控制器的storyboardID,它给了我错误:
'Could not load NIB in bundle: 'NSBundle </var/mobile/Applications/B7E025E5-D7D2-4FFD-B49C-E10DF5E94C44/LifePoints.app> (loaded)' with name 'preview'
我也尝试过...(故事板 segues 设置为“Push”)
- (IBAction)notificationsButtonPushed:(id)sender {
[self performSegueWithIdentifier:@"notifications" sender:self];
}
- (IBAction)messagesButtonPushed:(id)sender {
if (canMessage) {
[self performSegueWithIdentifier:@"messages" sender:self];
}
else {
NSLog(@"Can't Message");
}
}
- (IBAction)settingsButtonPushed:(id)sender {
[self performSegueWithIdentifier:@"settings" sender:self];
}
- (IBAction)previewButtonPushed:(id)sender {
[self performSegueWithIdentifier:@"preview" sender:self];
}
虽然这确实将目标视图控制器以适当的转场类型推送到屏幕上,但它确实不转场到正确的目标视图控制器。它似乎只转至最后附加的故事板转场。
有谁知道如何正确应用它并让它以我正在寻找的形式表现?
编辑
请务必注意,我正在检查“messagesButtonPushed”方法是否满足条件。我正在检查是否允许用户发送消息,如果允许,则转到 VC。
【问题讨论】:
标签: ios objective-c