0

Iphone UI タブ コントローラーのチュートリアルに従っています。基本的には、下部の リンク テキストのコードを模倣しました。

// Create a temporary window object to assign to the window property 
    UIWindow *tempWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]
 bounds]];
    // Make the window background red so that you can see that the window has been added
    tempWindow.backgroundColor = [UIColor grayColor];
    self.window = tempWindow;
    [tempWindow release];


    // add the tab bar controller
    UITabBarController *tabBarController;
    tabBarController = [[UITabBarController alloc] initWithNibName:nil bundle:nil];


    PhoneContactsView *phoneContactsView = [[[PhoneContactsView alloc] init] autorelease];
    OtherContactsView *otherContactsView = [[[OtherContactsView alloc] init] autorelease];

    //Add all the view to the tabBarView
    tabBarController.viewControllers = [NSArray arrayWithObjects:otherContactsView,phoneContactsView, nil];

    //Add all the button's to the bar

    UITabBarItem *otherContactsTabBarItem = 
    [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemTopRated tag:1];       
    otherContactsBarItem.title = @"My Contacts";
    otherContactsView.tabBarItem = otherContactsBarItem;    
    [otherContactsBarItem release];

    UITabBarItem *phoneContactsBarItem =
    [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemContacts tag:1];       
    phoneContactsView.tabBarItem = phoneContactsBarItem;    
    [phoneContactsBarItem release];

    tabBarController.selectedViewController
    = [tabBarController.viewControllers objectAtIndex:0];

    [window addSubview:tabBarController.view];
    [tabBarController release];
    [window makeKeyAndVisible];

OtherContacts と PhoneContacts はデフォルトの空のビューです。背景を変更して、それらが読み込まれていることを確認しただけです。これを実行すると、最初のビューが読み込まれますが、タブ バーをクリックしてビューを切り替えることができません。

4

2 に答える 2

1

バグが見つかりました:

[window addSubview:tabBarController.view];
[tabBarController release]; <------------- I am releasing the tabBarController while still in use 
[window makeKeyAndVisible];

そのため、タブ バー コントローラーが応答しませんでした。-ダニエル

于 2009-07-08T05:28:06.450 に答える
0

OtherContacts と PhoneContacts が「UIView」クラスであり、UIViewController クラスではない場合、問題の説明になります。タブ バー コントローラーには UIViewController 参照が必要です。

于 2009-07-08T03:38:52.783 に答える