我嘗試使用詳細披露按鈕,用故事板,但是當我從建立公開按鈕SEGUE到一個新的查看它的工作原理只是,當我按下表格單元格,而不是當我按下詳細披露按鈕。如何使用細節披露按鈕與故事板?
我該做什麼?
感謝,
伯恩哈德
我嘗試使用詳細披露按鈕,用故事板,但是當我從建立公開按鈕SEGUE到一個新的查看它的工作原理只是,當我按下表格單元格,而不是當我按下詳細披露按鈕。如何使用細節披露按鈕與故事板?
我該做什麼?
感謝,
伯恩哈德
我可能是錯的,但我發現,它需要通過UITableDelegate代碼來實現:
#pragma mark - Table view delegate methods
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
// do a segue based on the indexPath or do any setup later in prepareForSegue
[self performSegueWithIdentifier:@"segueName" sender:self];
}
,然後在prepareForSegue
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"segueName"]){
NSIndexPath * indexPath = self.sequenceTableView.indexPathForSelectedRow;
// do some prep based on indexPath, if needed
}
}
我可以驗證這個作品,昨天做到了。確保您將控制器a的控制器a連接到控制器b,即從主控制器到詳細控制器,但不是從單元連接。 – erran
非常感謝,它的作品很漂亮:-) –
skinnyTOD的答案很好。但我不知道爲什麼self.sequenceTableView.indexPathForSelectedRow;返回nil(0x0000000),我必須用一個屬性來保存accessoryButtonTappedForRowWithIndexPath的selectedRow:
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
// do a segue based on the indexPath or do any setup later in prepareForSegue
self.selectedRow = indexPath.row;
[self performSegueWithIdentifier:@"segueName" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"segueName"]) {
// use self.selectedRow here
}
}
你實現從didSelectRowAtIndexPath方法說SEGUE:? – tarheel