在iPad上使用带有多个按钮的UIActionSheet时,高度通常不正确,导致按钮被剪裁

时间:2012-03-30 04:12:07

标签: ios ipad uiactionsheet popover

所以我尝试用对我来说有意义的术语搜索到处都是,但我是空的。当然这个问题不仅影响我吗?

假设以下代码(在iPad上):

    UIActionSheet *theActionSheet = [[UIActionSheet alloc] 
                                     initWithTitle: nil
                                          delegate: self 
                                 cancelButtonTitle: nil 
                            destructiveButtonTitle: nil 
                                 otherButtonTitles: nil ];
    [theActionSheet addButtonWithTitle:@"Button 1"];
    ... (repeat a goodly number of times, say, 13 more times)
    [theActionSheet showFromRect:theRect inView:self.tableView animated:YES]

现在,根据我展示纸张的位置,我可能最终得到一张完整形状的纸张(即所有按钮显示),或者我可能最终将底部按钮部分(或完全)剪裁。例如:

Clipped Popover

据我所知,这个popover的大小正在进入屏幕边界,但似乎iPad应该转换为可滚动的项目列表。 注意:添加标题时,这正是发生的情况。也就是说,拥有一个标题似乎只会加剧裁剪问题。

从技术上讲,呈现的项目数量极端 - 普通用户不会同时看到所有这些项目。但是,如果所有项目都适用,我宁愿没有剪辑按钮。

作为旁注,我已经看到这种情况偶尔发生在其他应用程序中(希望我能记住哪个atm,但不能),所以我认为这不仅仅是我的代码,而是在边框可能起作用的iPad上显示时,操作表及其弹出窗口的交互方式有问题。

有关如何修复,缓解,绕行等的任何想法?

1 个答案:

答案 0 :(得分:0)

重新设计应该是第一优先。这显然可以移动到更高效的控制器(带有UIPageControl的弹出窗口),或者使用UIMenuController拆分成多个工作表。如果你想要滚动,我可以在标题中推荐一个关于滚动需要的指标。 (PS,我会在UX上问这个,但那只是我)。