addChildViewController alternative for iOS 4.3

2020-03-26 05:36发布

I would like to use the same functionality of addChildViewController, but for the version 4.3 (addChildViewController is only available in version 5). Thanks in advance.

3条回答
太酷不给撩
2楼-- · 2020-03-26 06:18

Something similar is explained in iOS: different addSubview behavior between iOS 4.3 and 5.0.

I have solved it by adding these lines:

NSMutableArray *controladores=[[NSMutableArray alloc]init];
        [controladores addObject:myController];
        if ([[[UIDevice currentDevice] systemVersion] compare:@"5.0"] == NSOrderedAscending) {
            [tabBar setViewControllers:controladores animated:YES];
        }
查看更多
萌系小妹纸
3楼-- · 2020-03-26 06:19

Although it's not recommended, you can create an instance of a UIViewController access it's view property and set it as a subview of the main view your main UIViewController is managing. It works, and I never experienced a problem with this.

That said, the recommended way is to have a NSObject subclass to act as your sub-controller, and not use a UIViewController as it has special behavior.

查看更多
三岁会撩人
4楼-- · 2020-03-26 06:24

I assume the reason you want to do this is for ipad application, as Apple state that a single view controller should "generally" (and before ipad existed they stated "always") control a whole screen full of views.

This really only changed with the extra screen real estate of the ipad when Apple made their own container view controller (splitViewController) which ultimately led to Apple allowing us to create our own container view controllers in ios5.

If your app is an iphone app then I (and Apple) would seriously question your need for view controller containment.

查看更多
登录 后发表回答