繁体   English   中英

按下按钮,iOS时如何更改控制器?

[英]How to change controller when pressing a button , iOS?

我在.xib文件上放了一个导航栏和一个Bar Button项目。

我为按钮创建了一个动作,将其连接起来,该动作如下所示:

- (IBAction)AddAlert:(id)sender {

    self.addReminderViewController =[[AddReminderViewController alloc]initWithNibName:@"AddReminderViewController" bundle:nil];
    [self.navigationController pushViewController:addReminderViewController animated:YES];
}

其中AddReminderViewController是我要导航到的控制器。

我的ViewController.h看起来像这样:

#import <UIKit/UIKit.h>

@class AddReminderViewController;

@interface ViewController : UIViewController <UITableViewDelegate , UITableViewDataSource>

@property (strong, nonatomic) AddReminderViewController *addReminderViewController;

@property (strong,nonatomic) NSArray *listData;

- (IBAction)AddAlert:(id)sender;

@end

我在其中声明@class AddreminderViewController以便可以在那里导航,并在.m文件上合成属性。

但是,当我按下按钮时,什么也没有发生。 它不会崩溃! 它只是没有导航我到任何地方。 我可以对AppDelegate进行任何更改吗? 我在这里想念什么?

当您使用self.addReminderViewController初始化控制器时,但稍后又不使用self进行self.addReminderViewController ,因此使用self可以确保正确设置了对象保留计数。

在你的代码中

[self.navigationController pushViewController:addReminderViewController animated:YES];

尝试更改上面的行并使用addReminderViewController添加self,这可能会解决您的问题

[self.navigationController pushViewController:self.addReminderViewController animated:YES];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM