-1

TableViewCell の textLabel のフレームの位置を確認しようとしています。(最終的には、タップがこのフレーム内にあるかどうかを確認したいと思います)。

MyCell *c = [self tableView:self.tableView cellForRowAtIndexPath:indexPath];
NSLog(@"%@ is in rect: %@ ", c.textLabel.text, NSStringFromCGRect(c.textLabel.frame));

これにより、次のようなログが得られます。

984943658 は rect にあります: {{0, 0}, {0, 0}}

名前の部分は正常に機能します (テキストはその番号です) が、フレームに 0 が表示されるのはなぜですか? 画面にテキストが表示されているので、フレーム内にある必要があります。なぜ取得できないのですか?

4

1 に答える 1

0

tableView:cellForRowAtIndexPath:テーブル ビュー データ ソース デリゲートのメソッドを呼び出します。これにより、新しいテーブル ビュー セルが作成されます。

あなたはおそらく電話したい

[self.tableView cellForRowAtIndexPath:indexPath];

これは、インデックス パスのセルを返します (表示されている場合)。

于 2012-08-16T19:04:39.900 に答える