2015-10-16 27 views
0

我想改變我的分段控件時,更改UITableView單元格的文本。我正在使用自定義分段控件,但那不重要。在下面的代碼中,我說當選擇第二個段時,將文本更改爲Heyyy,我不知道如何傳入單元格對象。分段控件和tableViews

- (void)segmentedControlChangedValue:(HMSegmentedControl *)segmentedControl { 
if(segmentedControl.selectedSegmentIndex == 1){ 
    _cell.textLabel.text = @"Heyyy"; 
    [self tableView:_cell cellForRowAtIndexPath:]; 
} 

}

回答

1

而不是試圖改變細胞視圖當分段控制的變化,嘗試改變數據該細胞從讀取信息,然後更新該小區。

您可以添加一個名爲NSString *myCellText的變量。

@implementation ViewController { 
    NSString *myCellText; 
} 

當分段控制的變化,你可以這樣做:

- (void)segmentedControlChangedValue:(HMSegmentedControl *)segmentedControl { 
    if(segmentedControl.selectedSegmentIndex == 1){ 
     myCellText = @"Heyyy"; 
    } 

    [self.tableView reloadRowsAtIndexPaths:@[indexPathOfCell] 
       withRowAnimation:UITableViewRowAnimationFade]; 
} 

然後在tableView:cellForRowAtIndexPath:您可以檢查該特定索引路徑,並設置單元格的文本myCellText

+0

謝謝你錯過了一個冒號tho :) reloadRowsAtIndexPaths: –

+0

謝謝,這是一個很好的例子,我應該在Stack上發佈之前在Xcode中運行代碼。 – Fennelouski

+0

我澄清了變量可以聲明的位置,因此setter不是必需的。 – Fennelouski