0

我正在尝试在多个设备(即iphone4/5)的屏幕底部创建一个包含pickerview 显示的操作表。我假设要使其在屏幕底部齐平显示,您希望操作表的 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 回答