在 iPhone SDK 中显示 UIPickerView 时隐藏 UITabBar

Posted

技术标签:

【中文标题】在 iPhone SDK 中显示 UIPickerView 时隐藏 UITabBar【英文标题】:Hiding UITabBar when displaying UIPickerView in iPhone SDK 【发布时间】:2010-02-10 15:03:44 【问题描述】:

当我想使用 UIPickerView 时,我有一个视图,但我的应用程序也支持 UITabBar。我想在弹出键盘的同一位置显示 UIPickerView,但问题是当我这样做时,选项卡栏按钮位于选择器上方,并且只有一半显示。是否可以在我绘制选择器之前暂时禁用标签栏并在选择器消失时恢复它?

【问题讨论】:

你如何显示 UIPickerView 是通过 pushModal 还是? 我正在添加一个 UIPickerView 作为子视图。 【参考方案1】:

您能告诉我们您是如何显示UIPickerView 的吗?我假设您将其作为子视图添加到从标签栏显示的视图控制器中,并设置其框架以使其与键盘的位置相同。

在这种情况下,尝试将UIPickerView 作为子视图添加到窗口,而不是视图控制器的视图:

[[[UIApplication sharedApplication] keyWindow] addSubview:myPickerView];

这应该显示在所有其他视图之上。

一个可能的警告是,如果在您的选择器视图就位时需要随时显示键盘,则键盘将显示在您的选择器视图上方,隐藏它直到键盘再次关闭。

【讨论】:

是的,我将 UIPickerView 作为子视图添加到窗口。我会试试你的解决方案。【参考方案2】:

如果你打电话怎么办

myTabBarController.tabBar.hidden = YES;

在显示此选择器视图之前?

【讨论】:

在 MainWindow nib 中定义的自定义视图中如何获得 myTabBarController 来自你的控制器,它是 self.tabBarController.tabBar;见developer.apple.com/iphone/library/documentation/UIKit/… 这会隐藏标签栏,但会在其位置留下一个空白的矩形。 查看我两周前的问题:***.com/questions/2078507/…

以上是关于在 iPhone SDK 中显示 UIPickerView 时隐藏 UITabBar的主要内容,如果未能解决你的问题,请参考以下文章

在 iPad 上的 UIPopoverController 中显示 iPhone-View (iPhone SDK)

在其他视图控制器的标签上显示 UIPicker 选择

更改 UIPicker 突出显示的选项卡宽度

UIPicker 视图不显示来自 JSON 数组的数据

在 iPhone SDK 中显示 UIPickerView 时隐藏 UITabBar

如何获取存储在设备中的所有图像并将它们显示为 iPhone sdk 中的图库