0

多くの静的セルを持つテーブルビュー コントローラーがあります。1 つのフィールドをクリックすると、UIPicker を表示して値を選択したいと考えています。

私のテーブルは大きいので、スクロール可能です。

tableviewController にサブビューを追加して、この UIPicker を iPad 画面の下部に表示するにはどうすればよいですか。つまり、tableview の下部ではありません。

ありがとうございました。

4

1 に答える 1

0

(viewDidDisplay ではなく) viewDidAppear から CGRect を取得する必要があります。そこに self.bounds (コードが表示されないときに UITableViewController クラスが難しい場合) は、可視領域のみを返します。次に、そこにピッカーを描画できます。

編集(コメントリクエスト用):コードの例を使用します。viewController (任意の tableView、View ... ) には、次の 2 つのメソッドがあります。

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"%f,%f",self.view.bounds.size.width,self.view.bounds.size.height);

}

-(void)viewWillAppear:(BOOL)animated
{
    NSLog(@"%f,%f",self.view.bounds.size.width,self.view.bounds.size.height);
}

上記で行っているのは、同じコードを両方のメソッドに貼り付けることです。私が受け取ったもの: ViewDidLoad から: 320.000000,460.000000 viewDidAppear から: 320.000000,416.000000

これは、上部にナビゲーションバーがあるためです。したがって、画面に何かがある場合は、CGRect で好きなように描画する必要があります (パーセント値など)。

于 2012-05-01T11:06:41.950 に答える