addChildViewController alternative for iOS 4.3

两盒软妹~` 提交于 2019-12-01 06:03:35

问题


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.


回答1:


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.




回答2:


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:


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.



来源:https://stackoverflow.com/questions/9261171/addchildviewcontroller-alternative-for-ios-4-3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!