我需要提供一个显示10个按钮的UIActionSheet。当我在iPad上这样做时,UIActionSheet显示在垂直很长(不美观)的弹出窗口上。是否可以将UIActionSheet大小指定为最大大小?
我试过这个
myActionSheet.frame = CGRectMake(0,0,300,300);
myActionSheet.bounds = CGRectMake(0,0,300,300);
并且还尝试将这些行放在
中- (void)willPresentActionSheet:(UIActionSheet *)actionSheet {
没有成功。
任何线索?
感谢
答案 0 :(得分:2)
我认为这是您无法真正使用像UIActionSheet
这样的内置类来实现目标的情况之一。我不认为它被设计用于你有10个按钮的情况。它只是不能很好地扩展,就像你发现的那样。
但是我们假装可以改变大小。更改尺寸时会发生什么?每个按钮都有一个最小尺寸,可以轻松使用。而且你还需要在按钮之间留出一些空间,以免引起误动作。因此,即使你可以改变它的大小,也不能减少它。并且由于它无意改变大小,因此您必须尝试访问所有按钮并调整大小并移动它们。有人可能会争辩说也许这些按钮可以放在列中,但由于没有实现,如果你让UIActionSheet
更宽,它仍然无济于事。
我建议您:
如果您在弹出框中出现的modalInPopover
上将YES
设置为UIViewController
,则用户必须先做出选择,然后才能继续前进。
答案 1 :(得分:0)
尝试使用` - (void)showFromRect:(CGRect)rect inView:(UIView *)view animated:(BOOL)animated 因为在Apple文档中他们说: “在iPad上,此方法在弹出框中显示操作表,其中箭头指向视图的指定矩形。弹出窗口不与指定的矩形重叠。”
`