在 UINavigationController 中,按钮不适用于 pushViewController
Posted
技术标签:
【中文标题】在 UINavigationController 中,按钮不适用于 pushViewController【英文标题】:In UINavigationController, button doesn't work with pushViewController 【发布时间】:2013-07-29 14:05:29 【问题描述】:我想制作一个简单的导航控制应用程序,其中有两个视图控制器(ViewController
和 ViewController2
)。我在ViewController
中有一个按钮,当我按下按钮时,我希望它转到另一个视图。问题是按钮不起作用。我也尝试了UIViewController
,但也没有以这种方式工作。
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
ViewController *vc1 = [[ViewController alloc]init];
UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:vc1];
self.window.rootViewController = nav;
[self.window makeKeyAndVisible];
[self.window addSubview:nav.view];
return YES;
ViewController.m
- (IBAction)myButton:(id)sender
ViewController *vc2 = [[ViewController alloc]init];
[[self navigationController]pushViewController:vc2 animated:YES];
提前感谢您的帮助
【问题讨论】:
您能否更具体地说明它是如何不起作用的?什么都没有发生,或者当您按下按钮时应用程序崩溃? 按下按钮时什么都没有发生 你在*.xib文件中设置了“发送事件”吗? 是的,内部触摸按钮 【参考方案1】:如果您在 ViewController1 中使用情节提要导入 ViewController2 并为其提供情节提要 ID“view2”:
ViewController2 *vc2 = (ViewController2 *)[self.storyboard instatiateViewControllerWithIdentifier:@"view2"];
[self.navigationController pushViewController:vc2 animated:YES];
【讨论】:
我使用 .xib 文件,你能告诉我如何使用 .xib 来做到这一点吗? 我不确定,但请尝试:ViewController2 *vc2 = [[UIViewController alloc] initWithNibName:@"nameOfYourController"];以上是关于在 UINavigationController 中,按钮不适用于 pushViewController的主要内容,如果未能解决你的问题,请参考以下文章
在 UINavigationController 内的 UITabBarcontroller 中添加 UINavigationController?
从嵌入在 UINavigationController 中的一个视图控制器到另一个 UINavigationController
(Swift) 在嵌套在 Main UINavigationController 中的 UINavigationController 和 UITabController 之间切换
关闭 UINavigationController 并呈现另一个 UINavigationController
带有主 UINavigationController 和详细 UINavigationController 的 UISplitViewcontroller