3

tableViewHeaderにロードしようとしているカスタムビューがあります。奇妙なことに、背景の下部が常に切り取られています。ナビゲーションバーがボタンを押し下げているように見えますが、ビューの残りの部分は押し下げていません。

ペン先は次のようになります。

ペン先画像

tableviewcontrollerで次のように設定しています。

[[NSBundle mainBundle] loadNibNamed:@"MenuNav" owner:self options:nil];
[self.tableView setTableHeaderView:headerView];

これは、シミュレーターでどのように見えるかです。ボタンは、下半分のクリックも処理していません。

シミュレーターの画像

私が試したこと:-サブビューを前面に表示する:

[self.tableView bringSubviewToFront:headerView];

-テーブルビューのレイアウトが必要です。

[self.tableView setNeedsLayout]

-ビューのフレームが正しいことも確認しました。

何か案は?ありがとう!

編集

犯人を見つけました。IBのサブビューの自動サイズ変更のチェックを外さなければなりませんでした: http://i.imgur.com/jH2bs.png

4

2 に答える 2

1

多分あなたは試すことができます:

  • (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;

ビューと、ヘッダーの高さを返すために Jacky Boy が言うメソッドを返すには:

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;

于 2012-05-11T08:11:49.953 に答える
0

ビューの autoresizingMask を試してみましたか? コードに次のようなものを追加します。

headerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
于 2012-05-11T08:05:42.390 に答える