操作表中的 UIPickerView 从下半部分没有响应

Posted

技术标签:

【中文标题】操作表中的 UIPickerView 从下半部分没有响应【英文标题】:UIPickerView inside an action sheet is not responsive from bottom half 【发布时间】:2010-11-04 12:41:36 【问题描述】:

我使用以下教程在UIActionSheet 中创建了UIPickerView: Add UIPickerView & a Button in Action sheet - How?

我注意到UIPickerView 不响应低于UIPicker 下半部分的触摸。或许就在选择栏下方,但不再位于下方。

有没有人有过类似的经历并解决过?

【问题讨论】:

【参考方案1】:

我最近遇到了类似的问题,我提出了 3 个选项并取消了。下面的 3 个按钮似乎有半个按钮没有对齐。我必须在按钮之间单击才能使它们运行。这一切都取决于我从哪里展示行动表。如果您有 TabBarController,您应该从那里展示操作表:

[actionSheet showInView:self.parentViewController.tabBarController.view];

如果您只有视图本身,也许还有一个导航栏,那么从视图中呈现它就可以了:

[actionSheet showInView:self.view];

在我的情况下,我有一个用于 iphone 而不是 ipad 版本的标签栏,所以我这样做了:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    [actionSheet showInView:self.view];
 else 
    [actionSheet showInView:self.parentViewController.tabBarController.view];

从 UIActionSheet 参考文档中并不清楚,但明智的做法是从“最前面”的控制器呈现操作表。因此,如果底部有一个工具栏,则显示它。这些限制似乎不适用于 iPad,因为操作表显示在弹出框内。

希望对您有所帮助。

【讨论】:

我有一个非常相似的问题;在我的情况下,操作表(我在视图 self.view 中显示)看起来不错,但取消按钮在与选项卡栏重叠的部分中不起作用。将 inView 参数更改为 self.tabBarController.view 修复了它。 (注意:在我的情况下,我不需要使用 parentViewController...请检查您自己的视图层次结构以确保。)【参考方案2】:

嘿,去 XIB 并尝试选择 UIPickerView,然后转到“布局”菜单和“放在前面”希望这会有所帮助!!

【讨论】:

以上是关于操作表中的 UIPickerView 从下半部分没有响应的主要内容,如果未能解决你的问题,请参考以下文章

CDQ分治

从 coredata 表中检索数据到 UIPickerView(在 textField 内)

如何从 iOS 中的操作表中获取选择器值?

UIPickerView 选择指示器问题

带有多行 UILabel 的 UIPickerView

目标 C (UIPickerView):选择项目后执行操作