昔、似たようなことをしました。
「公式」の解決策は見つかりませんでしたが、見つけた解決策の 1 つは、通常の選択に加えて、ユーザーを詳細ビューに導く長押しジェスチャ認識機能をセルに追加することでした。
ただし、唯一の欠点は、この「非表示」オプションを何らかの方法でユーザーに通知する必要があることです。
以下は、viewDidLoad のコード フラグメントです。
UILongPressGestureRecognizer *taskDetail = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(showTaskDetail:)];
taskDetail.minimumPressDuration=0.5f;
taskDetail.numberOfTouchesRequired=1;
[self.myTableView addGestureRecognizer:taskDetail];
次に、私の taskDetail で:
-(IBAction)showTaskDetail:(id)sender {
UILongPressGestureRecognizer *gesture = (UILongPressGestureRecognizer*)sender;
if (gesture.state == UIGestureRecognizerStateBegan) {
CGPoint p = [gesture locationInView:TV];
NSIndexPath *indexPath = [self.myTableView indexPathForRowAtPoint:p];
MyManagedObj *obj = [self.datasource objectAtIndex:indexPath.row];
// other operations omitted...
// then perform segue...
[self performSegueWithIdentifier:@"taskDetail" sender:indexPath];
}
}
私が試した他の解決策は、UITableViewCell の 2 つのボタンで、1 つはテーブルのドリルダウン用、もう 1 つは詳細用です。それも機能しますが、私のセルは小さすぎて、2 つのボタンを配置するスペースがあまりありませんでした。