2012-04-11 202 views
0
- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIBarButtonItem *refreshButton = [[UIBarButtonItem alloc] initWithTitle:@"Refresh" style:UIBarButtonItemStylePlain target:self action:@selector(refreshButtonClicked:)]; 
    [self.navigationItem setRightBarButtonItem:refreshButton animated:YES]; 
} 
- (void)refreshButtonClicked:(id)sender { 
    NSLog(@"Refreshed."); 
} 

我在AppDelegate中以编程方式添加了导航控制器,并将此视图设置为根。uibarbuttonitem无法正常工作

当我试图如上所示以编程方式添加navigationItem时,refreshButton显示在导航栏中,但refreshButtonClicked:未被调用。

有什么问题?任何建议和意见,欢迎。

+0

如何检测'refreshButtonClicked:'没有被调用?这段代码有效。 – beryllium 2012-04-11 13:33:08

+0

@beryllium'NSLog(@“刷新。”);'没有输出 – 2012-04-11 13:40:46

回答

0

问题解决了给超类的调用。奇怪的。清理构建后,删除派生数据并重新启动Xcode,它会正常运行。

0

让您的viewDidLoad

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIBarButtonItem *refreshButton = [[UIBarButtonItem alloc] initWithTitle:@"Refresh" style:UIBarButtonItemStylePlain target:self action:@selector(refreshButtonClicked:)]; 
    [self.navigationItem setRightBarButtonItem:refreshButton animated:YES]; 
} 

它将确保根类设置已经完成

+0

好的我做了,但仍然没有工作 – 2012-04-11 13:42:33