2014-11-20 73 views
1

我使用IBAction爲我的按鈕設置動作。IBAction升級到(SDK 8.1,Xcode 6)後沒有被調用

這些按鈕位於uitableview Cell中。

這是我的代碼:

-(IBAction)buttonAcceptClick:(id)sender 
{ 
    UIButton *btn = (UIButton *) sender; 
    UITableViewCell *cell; 
    if ([NSProcessInfo instancesRespondToSelector:@selector(isOperatingSystemAtLeastVersion:)]) { 
     cell = (UITableViewCell*)btn.superview.superview; 
      NSLog(@"sdk 8.1"); 

    } else { 
     cell = (UITableViewCell*)btn.superview.superview.superview; 
     NSLog(@"sdk 7.1"); 
    } 
    NSLog(@"buttonAcceptClick"); 

第二個按鈕是酷似第一個不同的名稱。

現在的問題是一切正常在Xcode 5和SDK 7.1,但我打開我的項目後

在Xcode 6和SDK 8.1程序的運行以及在iPhone模擬器4,5,6(軟件開發工具包7.1和8.1 ),

但在真實設備上無法正常工作。有趣的部分是其中一個按鈕工作,而不是其他的

一。

+0

我會仔細檢查插座連接故事板。如果您檢查系統版本的原因是要知道如何獲取單元,那麼可能有更好的方法來實現這一點。 – SefTarbell 2014-11-20 21:31:55

+0

感謝您的回覆。我會檢查出口或重建新的。 如何以更好的方式獲得細胞信息? – 2014-11-22 05:40:39

回答

2

正如我在我的評論中所述,有更好(更可靠)的方式來獲得UITableViewCell。這裏是一個:

- (IBAction)someButtonTapped:(id)sender 
{ 
    CGPoint point = [sender convertPoint:CGPointZero toView:self.tableView]; 
    NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:point]; 
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; 

    // do something with the cell... 
} 
相關問題