ストーリーボードで詳細開示ボタンを使用しようとしましたが、開示ボタンから新しいビューへのセグエを作成すると、テーブルセルを押したときにのみ機能し、詳細開示ボタンを押したときにのみ機能します。
どうすればいいですか?
ありがとう、
ベルンハルト
ストーリーボードで詳細開示ボタンを使用しようとしましたが、開示ボタンから新しいビューへのセグエを作成すると、テーブルセルを押したときにのみ機能し、詳細開示ボタンを押したときにのみ機能します。
どうすればいいですか?
ありがとう、
ベルンハルト
私は間違っているかもしれませんが、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
}
}
skinnyTOD の答えは問題ありません。しかし、なぜ self.sequenceTableView.indexPathForSelectedRow; なのかわかりません。nil(0x0000000) を返します。プロパティを使用して、selectedRow をaccessoryButtonTappedForRowWithIndexPath に保存する必要があります。
- (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
}
}