テーブルビューのセクションのフッターを作成しています。フッターの高さはで指定されるheightForFooterInSection
のでviewForFooterInSection
、サブビューを追加して、指定されたフッターの高さをフッタービューで埋めるように指定します(このフッターのサイズは動的になります)。そのため、最初のフレームとして使用CGRectZero
し、フッタービューに親ビューを埋めるために展開するように指示しています。
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
UIView *footerView = [[UIView alloc] initWithFrame:CGRectZero];
footerView = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
footerView = [UIColor greenColor];
return footerView;
}
これは期待どおりに機能します。テーブルビューのフッターは完全に緑色のビューで埋められます。
UITextView
しかし今、私はフッターにを追加したいと思います。テキストビューは同じスペースを埋める必要がありますが、5ポイントの境界線を残します。
{
UIView *footerView = [[UIView alloc] initWithFrame:CGRectZero];
footerView = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
footerView = [UIColor greenColor];
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectInset(footerView.frame, 5, 5)];
textView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
textView.backgroundColor = [UIColor redColor];
[footerView addSubview:textView];
return footerView;
}
フッタービュー(5ポイントのマージン)を埋める代わりに、テキストビューはまったく表示されません。CGRectZero
おそらく(またはおそらく-5 x -5?)のフレームがあります。ただし、挿入図を0、0に設定すると、期待どおりに拡張されます。
これの説明は何ですか?またCGRectZero
、最初のフレームにのインセットを使用できない場合、footerViewのフレームがわからない場合に何を使用する予定ですか?