2012-04-11 290 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