0

プログラム全体のどこでも tableview 関数を呼び出す方法があるかどうか知りたかったのです。つまり、この関数を呼び出したいということです。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

私のコードのどこにでも。とにかく自己機能または何かを使用することはありますか、それが可能な場合はありますか? ありがとう。

4

3 に答える 3

2

きっとできます。NSIndexPath次のように、オブジェクトを渡すことができる必要があります。

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];

セル オブジェクトが返されたらcellForRowAtIndexPath、次のようにそのプロパティなどにアクセスできます。

cell.backgroundView.alpha = 0.0;

また、カスタム UITableViewCell を使用している場合は、呼び出しを型キャストすることでカスタム セルを取得できます。

MyCustomCellClass *cell = (MyCustomCellClass *)[self.tableView cellForRowAtIndexPath:indexPath];
于 2013-02-11T03:39:06.713 に答える
1

あなたはこのようにそれを行うことができます:

  // First do modifications in the datasource for table     
    // And then you can reload the specific row like this:

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];

[self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

また、cellForRowAtIndexPathが呼び出されない理由は、デリゲートを設定していないか、テーブルが画面に表示されている行に対してこの関数を呼び出すため、表示するUIに表示されている行がないためである可能性があります。したがって、テーブルのフレームも確認してください。

于 2013-02-11T04:59:04.227 に答える
1

[tableviewreloadData]を呼び出すだけです。これにより、インデックスパスの行のセルが呼び出されます。

于 2013-02-11T04:15:58.847 に答える