私はを持っています、UITableView
そしてセルは異なったそしてランダムな高さを持っています。セルにはそれぞれボタンが含まれています。ボタンを押すと、その特定のセルの高さを取得したいと思います。どうすればこれを行うことができますか?
質問する
1693 次
4 に答える
2
(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
//Here calculate your height
return height;
}
セルの高さを知りたいところならどこでも
最初にインデックスパスを見つける
NSIndexPath *indexPath = [tableView indexPathForCell:cell]
次に、以下のようにそのインデックス パス上にあるセルの高さを見つけます
CGFloat cellHeight = [self tableView:tableView heightForRowAtIndexPath:indexPath];
于 2014-02-06T11:50:46.780 に答える
0
heightForRowAtIndexPath
特定のセルの高さを取得するためには使用されません。これは UITableView の DataSource メソッドであり、UITableViewCell
ロード時の高さを設定するために使用されます。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 60.0; // Set the cell height
}
于 2013-02-03T07:14:45.510 に答える
0
あなたはこのようなものを求めていると思います。
-(IBAction)buttonPressed:(id)sender {
UIButton *myButton = (UIButton *)sender;
NSLog(@"%0.2f", myButton.superview.frame.size.height);
}
ドキュメントから:「ビューは他のビューを埋め込み、洗練された視覚的階層を作成できます。これにより、埋め込まれているビュー(サブビューと呼ばれる)と埋め込みを行う親ビュー(スーパービューと呼ばれる)との間に親子関係が作成されます。」
さらに、ボタンを上記のメソッドに割り当てる必要があります。これは、インターフェイス ビルダーで行うことも、次のようなもので行うこともできますcellForRowAtIndexPath
。
UIButton *heightButton = (UIButton *)[cell viewWithTag:1];
[heightButton addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside];
于 2013-02-04T14:36:06.437 に答える