1. ホーム
  2. アイオス

[解決済み】UITableview。一部の行の選択を無効にし、他の行の選択を無効にする方法

2022-03-28 11:25:25

質問

グループ内に表示する tableview XMLからパースされたコンテンツ。私はそれのクリックイベントを無効にしたい(私はそれを全くクリックすることができないはずです) テーブルは2つのグループを含んでいます。1つ目のグループのみ選択できないようにしたいが、2つ目のグループは選択できないようにしたい。2番目のグループの最初の行をクリックすると navigates をマイチューブに player view .

特定のグループや行だけを選択可能にするにはどうしたらよいですか?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    if(indexPath.section!=0)
    if(indexPath.row==0)    

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:tubeUrl]];   
}

ありがとうございます。

どのように解決するのですか?

このコードを cellForRowAtIndexPath

セルの選択プロパティを無効にする。(セルをタップしている間)

cell.selectionStyle = UITableViewCellSelectionStyleNone;

セルを選択(タップ)できるようにする。(セルをタップする)

// Default style
cell.selectionStyle = UITableViewCellSelectionStyleBlue;

// Gray style
cell.selectionStyle = UITableViewCellSelectionStyleGray;

ただし、セルが selectionStyle = UITableViewCellSelectionStyleNone; を呼び出しても、UI は didSelectRowAtIndexPath がタッチされたとき これを避けるには、以下の提案のようにし、設定します。

cell.userInteractionEnabled = NO;

の代わりに また cell.textLabel.enabled = NO; を使用すると、項目がグレーアウトします。