2011-12-27 4 views
1

私のユニバーサルIOS4アプリでは、私はxibでUITableviewを持っていて、私はそれを私のUITableViewControllerで制御します。あなたが知っているように、tableviewは、デフォルトでは、ナビゲーションバーの左上のウィンドウ内のすべての領域と、下側のツールバーをカバーしています。iPhone:UITableViewの上にUILabelを追加するには?

UIlabelがスクロールではなく、表だけが

どのようにすることができているので、私は何をしたいことは、単にナビゲーションバーの下に別のUIComponent(おそらく大きなUILabel)を追加し、ちょうどそのUILabelの下にスクロール可能なテーブルビューを配置することですそれを制御しますか?

おかげ

+0

が鳴り回転イベントを取得するウィンドウにのみ最初の追加のビューとして、UIWIndowに何も追加することをお勧めしません。あなたのヘッダーのオプションを調べて、あなたが思いつくものを見てみましょう。 –

+0

あなたの別のオプションは、独自のビューを作成してテーブルビューを直接追加して、テーブルビューのディメンションを制御できるようにすることです。それで、自分のラベルのために一番上に自分の部屋を残すことができます。 –

+0

@Bill Braskyは自分のビューを作成することで何を意味するのか説明できますか? – Spring

答えて

1

...あなたのUILabelインスタンス(MYVIEW)を作成し、UIWindowでサブビューとして追加

UIWindow* window = [UIApplication sharedApplication].keyWindow; 
if (!window) 
    window = [[UIApplication sharedApplication].windows objectAtIndex:0]; 
[[[window subviews] objectAtIndex:0] addSubview:myView]; 

...続きは方法です...あなたはそれを適切に取り扱う作りますUITableViewCOntrollerを使用しないでください。デリゲートとデータソースの使い方を簡単にするためにUITableVIewCOntrollerを使用する場合は、このようなカスタマイズの問題に直面する必要があります。

あなたは問題があれば、あなたのUITableViewControllerの下にあります。

  1. は、カスタムUIImageに背景を設定することはできません。 UITableViewのBGプロパティを設定することしかできません。カスタムVCを使用してそれにUITableViewを追加する場合ビュー、ウィジェット、およびテーブルビューの高さの上に何を保持するかを完全にカスタマイズできます。

  2. ビューでは、静的ヘッダービューを使用することはできません。 UITableVCを使用する場合は、Table Viewのデータソースメソッドを使用して作成できるデフォルトのヘッダーしかないためです。しかし、カスタマイズしたVCを使用してTableViewを追加する場合は、カスタマイズした1つまたは複数のヘッダーをヘッダーとして追加できます。

だけで、あなたがのUITableViewControllerを使用する場合は、あなたのテーブルビューにUITextFieldsを持っている場合は、1の編集を開始した場合、のUITableViewControllerは自動的にキーパッド上記に隠されたテキストフィールドをスクロールすることである必要があります利点。

私はあなたがカスタマイズされたテーブルビューのヘッダをしたいよう

http://developer.apple.com/library/ios/#qa/qa1688/_index.html

1

は一つの簡単なアイデアは、別のUIViewControllerを(のはこのa_viewControllerを呼びましょう)があり、そのサブビューとしてテーブルビュー(a_tableViewのは、それを呼びましょう)とラベル(samewise、a_label)を設定することです。

[a_viewController.view addSubview:a_tableView] 
[a_viewController.view addSubview:a_label]; 

TableViewヘッダーは、スクロールしながらラベルを保持したい場合には機能しません。

テーブルビューにセクションが1つしかない場合は、セクションヘッダーが便利なオプションになる場合があります。

Can i make a table's tableHeaderView position fixed as I scroll?

3

気にしない:私は、これは、テーブルにスクロールすると思います。

セクションヘッダーを下のビューに設定できます。セクションが1つしかない場合は、これが機能します。最適な解決策は、UIViewControllerに変更することです。

はプログラム表あなたがUIWindowに追加することができない方法の

UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(0,0,320,30)] autorelease]; 
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,50,30)] autorelease]; 
label.text = "Hello"; 
[view addSubview:label]; 
self.tableView.tableHeaderView = view; 
1

一つにヘッダを追加します。ビューをナビゲートしながら、しかし、私は希望

関連する問題