2011-11-04 25 views
0

當放置在非主界面的TabView中時,對UITextField有任何限制。換句話說UITextField與iOS5的UITabBarController不兼容

工作細基於情景 1.一種標籤應用,與具有UITextField視圖中的一個。 2. tabview是應用程序的主界面。

這工作得很好,沒有任何毛刺

不工作的如此精細的場景。 1.基於選項卡的應用程序,但選項卡視圖不是主視圖。 2.還有一些視圖MainWindow.xib帶有一些介紹動畫,然後調用並顯示tabview。 3. UITextfield在這樣的tabviews中似乎不起作用 - 特別是在IOS5中。這兩種方法工作正常,直到IOS 4.3 4.文本框是可見的,但點擊它不顯示任何鍵盤,如果我通過代碼呼叫becomeFirstResponder,鍵盤顯示,但沒有響應。

任何建議

的代碼是非常標準的

AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

    tabViewController = [[tabView alloc] initWithNibName:@"tabView" bundle:nil]; 
    [self.window addSubview:tabViewController.view];  
    //self.window.rootViewController=tabViewController 
    [self.window makeKeyAndVisible];  
    return YES;  
} 

tabViewController有一個簡單的文本框一個ProfileViewController

文本字段工作正常,如果我這樣做

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

tabViewController = [[tabView alloc] initWithNibName:@"tabView" bundle:nil]; 
profileView=[[Profile alloc] initWithNibName:@"Profile" bundle:nil]; 
//calling the view directly without using a tab view 
[self.window addSubview:profileView.view];  
[self.window makeKeyAndVisible];  
return YES;  

}

是否有別的東西,需要的IOS5做時,標籤的觀點是不是主界面?在這幾天我一直在嘲弄我的頭腦,所有我在tabview中使用UITextfield的應用程序在ios5中都是不可用的。任何幫助,高度讚賞

編輯:上傳的工程文件http://www.mediafire.com/?xjuc4udlph78saj - 的XCode 4.2獅子

這是一個簡單的項目有兩個選項,創建從委託本身tabbarcontroller,我也有一個觀點(TabView的)與一個tabbarcontroller。有2個視圖的標籤欄FirstViewController & SecondViewController。 在AppDelegate.m如果使用方法1(創建UITabBarController裏面AppDelegate,一切都很好)。如果我選擇添加tabView的子視圖,則uitextfield不起作用。 我沒有真正處理對象的釋放,因爲這是測試項目,它僅用於概念驗證。

謝謝

回答

0

經過數小時的搜索,擺弄和試驗。我找到了解決方案。

這似乎發生在應用程序中有多個UIWindow。 就我而言,我是diong這

  • AppDelegate有自己UIWindow開始了一次,我已經打了一些 啓動動畫,我嘗試以顯示與 tabbarcontroller另一種觀點認爲,和ofcoures一個窗口來瀏覽UITabBarController

    第二個窗口(甚至將其設置爲makeKeyAndVisible後)似乎 是阻止鍵盤事件前UITextFieldUITabBarController

以下爲我工作: 而不是具有其自己的窗口第二種觀點,我有UITabBarController了吧,和UIView/UIWindow(這是有一個默認視圖的緣故筆尖文件)。當我需要顯示tabbarview我已經使用這個

[[[UIApplication sharedApplication] keyWindow] setRootViewController:TabBar] 

我不知道更好的方法,但是那對我有效。總之,我發現應用程序內有另一個UIWindow會導致與becomeFirstResponder問題。