0

私はiOSが初めてです。

Today エクステンションを使いたいです。Today 拡張機能を作成し、uitableview を追加しました。正常に動作します。しかし、行を選択しようとすると、デリゲート Method DidSelectRowAtIndexPathは呼び出されません。

私のコードには、uitableview デリゲートとデータソースの 3 つのメソッドがあります。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
  return 3;
}

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
   {
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifier"];

if (cell == nil) {
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MyIdentifier"];
}

cell.textLabel.text = [NSString stringWithFormat:@"Hello World%li",(long)indexPath.row];
return cell;

}

   - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
      return 1;
     }

上記のデータソースメソッド呼び出しが正しく

しかし、行の選択後に didselect 行メソッドは呼び出されません。

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
     {
       NSLog(@"row Selected");
     }

助けてくれてありがとう。

4

2 に答える 2

1

データソースメソッドが呼び出されると述べています。ただし、これtableView: didSelectRowAtIndexPath:UITableViewDelegateメソッドであり、データ ソース メソッドではありません。テーブル ビューのdelegateプロパティが設定されていないようです。

于 2014-12-31T19:07:37.773 に答える
0

UITableViewDataSource が実装されているのと同じように、テーブル ビュー クラスに UITableViewDelegate プロトコルを実装します。didSelectRowAtIndexPathは正常に機能します。つまり、テーブルの行が選択されたときに呼び出されます。

于 2016-10-07T07:20:01.553 に答える