我尝试有一个操作表,其中包含跨多个设备(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,所以给出了什么?显然我的逻辑是有缺陷的。
答案 0 :(得分:0)
当您致电
时,您传递了哪种观点showInView:(UIView*)view
听起来你可能在错误的视野中传球并错误地抵消了你的位置。
再加上这个,您不必处理UIActionSheet的框架。它应该相应地为你定位。
[_myActionSheet showInView:[[[UIApplication sharedApplication] delegate] window]];
会让它显示在窗口的底部。