0

複数のデバイス(つまりiphone4/5)で画面の下部にピッカービュー表示を含むアクションシートを作成しようとしています。画面の下部にぴったりと表示するには、アクションシートの Y 原点をビューの高さ (一番下まで押し込む) からアクションシートの高さ ( Y 軸に沿って上に移動します)。

ただし、これは私のアクションシートを画面の下部に表示しています。

コード:

[actionSheet setFrame:CGRectMake(0, self.view.frame.size.height - 294, 320, 294)];

NSLog(@"%f %f %f %f",
      self.view.frame.origin.x,self.view.frame.origin.y,
      self.view.frame.size.width,self.view.frame.size.height);

NSLog が吐き出しています: `0.000000 0.000000 320.000000 372.000000

アクションシートの 372-294 は 78 です。明らかに私の論理には欠陥があります。

4

1 に答える 1

0

呼び出すときにどのビューを渡しますか

showInView:(UIView*)view

間違ったビューを通過している可能性があり、位置を誤ってオフセットしているようです。

これに加えて、UIActionSheet のフレームを処理する必要はありません。それに応じて配置する必要があります。

[_myActionSheet showInView:[[[UIApplication sharedApplication] delegate] window]];

ウィンドウの下部に表示されるようにします。

于 2013-07-17T19:20:41.473 に答える