を含むセルの高さを動的に再計算しようとしていますUITextView
。セルの高さは UITextView の高さに依存します。
以下のソース コードは、テーブル内の各セルの高さを再計算します。これは からの一部のテキストですNSDictionary
。すべての高さが再計算された後、配列 heightCells に含まれる新しい高さでテーブル ビューをリロードします。
UITextView *tempTextView = [[UITextView alloc] init];
UIFont *font = [UIFont fontWithName:@"Helvetica" size:16.0];
[tempTextView setFrame:CGRectMake(10, 63, 300, 9999)];
[tempTextView setFont:font];
NSString *str = [d valueForKey:@"definition"]; // set long text
tempTextView.text = str;
CGRect frame = tempTextView.frame;
frame.size.height = tempTextView.contentSize.height + 20.0;
tempTextView.frame = frame;
[tempTextView sizeToFit];
int height = tempTextView.frame.size.height + 150.0; // set padding 150.0 px
[heightCells addObject:[NSNumber numberWithFloat:height]];
UITableView
方法:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return [[heightCells objectAtIndex:indexPath.row] floatValue];
}
網膜ディスプレイではなく、すべてが正常に機能し、高さが正しく再計算されましたが、網膜ディスプレイでは再計算に問題があります。網膜ではなく網膜には 320x480 ポイントのビューが 1 つあり、再計算には影響しないはずです。しかし、私の場合、これは表示されます。
以下のスクリーンショットをご覧ください。スクリーンショットでわかるように、共有ボタンの後の下部のパディングは、Retina ディスプレイではなく Retina ディスプレイで異なります。そして、私はこの問題の種類を知りません。
手伝ってくれてありがとう!