2010-02-10 32 views
3

當我想使用UIPickerView時我有一個視圖,但我的應用程序也支持UITabBar。我想在彈出鍵盤的同一個地方顯示UIPickerView,但問題是當我做到標籤欄按鈕位於拾取器上方時,只有一半被顯示。是否可以臨時禁用標籤欄之前,我畫一個選擇器,並恢復它時,選擇器將消失?在iPhone SDK中顯示UIPickerView時隱藏UITabBar

+0

你是如何顯示UIPickerView是通過pushModal還是? – willcodejavaforfood 2010-02-10 15:23:22

+0

我添加了一個UIPickerView作爲子視圖。 – RaYell 2010-02-10 15:55:09

回答

8

你能告訴我們你是如何顯示UIPickerView?我假設你將它作爲子視圖添加到從標籤欄顯示的視圖控制器,並設置其框架,使其與鍵盤相同。

在這種情況下,嘗試添加UIPickerView作爲一個子視圖的窗口,而不是視圖控制器的看法:

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

這應該顯示其上的所有其他視圖。

一個可能的警告是,如果在pickerview到位的同時鍵盤需要隨時顯示,鍵盤將顯示在pickerview上方,隱藏它直到鍵盤再次被解除。

+0

是的,我將UIPickerView作爲子視圖添加到窗口中。我會嘗試你的解決方案。 – RaYell 2010-02-10 15:58:12

2

如果你顯示這個選擇器視圖之前調用

myTabBarController.tabBar.hidden = YES;

+0

當在MainWindow nib中定義時,如何在我的自定義視圖中獲取myTabBarController? – RaYell 2010-02-10 16:01:49

+1

from your controller,it's self.tabBarController.tabBar;請參閱http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instp/UIViewController/tabBarController – 2010-02-10 16:16:42

+0

這隱藏了tabbar,但它留下了一個空白色矩形在它的地方。 – RaYell 2010-02-10 18:35:49