2010-11-23 118 views
1

我需要提供一个显示10个按钮的UIActionSheet。当我在iPad上这样做时,UIActionSheet会在垂直方向很长(不美观)的popover上显示。可以将UIActionSheet大小指定为最大大小吗?iPhone - 调整UIActionSheet的尺寸

我已经试过这

myActionSheet.frame = CGRectMake(0,0,300,300); 
myActionSheet.bounds = CGRectMake(0,0,300,300); 

和也试图把这些行内

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet { 

没有成功。

任何线索?

感谢

回答

2

我认为这是的情况下,你不能真正使用内置的像UIActionSheet类来实现你的目标之一。我不认为它被设计用于你有10个按钮的情况。它只是不能很好地扩展,就像你发现的那样。

但让我们假装它可以改变大小。当你改变尺寸时会发生什么?每个按钮都有一个最小尺寸可以放置。而且你还需要在按钮之间留出一些空间,以免造成误会。所以即使你可以改变它的大小也不能减少太多。而且由于它不打算能够改变大小,你必须尝试访问所有的按钮并调整大小并移动它们。有人可能会争辩说,也许按钮可能会被放置在列中,但由于没有实现,如果您将UIActionSheet做得更宽一些,它仍然没有帮助。

我会建议您:

  1. 创建只是放在你喜欢的所有10个按键的自定义视图。
  2. 使用表格视图来显示选项。由于表格视图可以滚动,因此可以获得您喜欢的大小。

如果您在UIViewController设置modalInPopoverYES你存在于酥料饼的用户必须做出选择之前,她可以继续前进。

0

尝试用` - (空)showFromRect:(的CGRect)RECT inView:(UIView的*)视图动画:(BOOL)动画 因为苹果文档中他们说: “在iPad上,这种方法在弹出窗口中显示动作表,其箭头指向视图的指定矩形,弹出窗口不与指定的矩形重叠。“

`

+0

对不起,但我无法理解你对我问的答案的含义。我已经这样做了,我的问题是已经呈现的popover的巨大尺寸... – SpaceDog 2010-11-23 17:13:00

+0

我认为这种方法将帮助您调整uiactionsheet视图的大小。 – 2010-11-23 17:18:38