今天用纯代码写了一个UITabBarController的应用,应用有四个UITabBarItem,用nib文件的时候,只有点击了UITabBarItem才会加载相应的视图但是用代码的话必须先把对应的UIViewController分配好然后赋值给UITabBarController的viewControllers属性也就是说无法延迟加载视图,程序一启动就把视图就全部加载了请教大神我该怎么做

解决方案 »

  1.   

    给你个思路:
    不用UITabBarController ,自己使用UITabBar来模拟。这时你就可以自定义延迟加载各视图@interface MyTabBarController:NSObject <UITabBarDelegate>@property (nonatomic,retain) UITabBar *tabBar;
    @end
      

  2.   

    主要是要实现协议UITabBarDelegate中的方法,当每一个UITabBarItem 被选中时都会触发到这个代理方法,各视图切换的主要逻辑需要在这个方法下实现。
      

  3.   

    动态加载.
    把你视图变为两个. 一个父视图,一个子视图.
    你真正的东西放在子视图里.在适当的时候可以调用[fatherView AddSubView:ChildView]方法.
      

  4.   


    事实上如果用xib的话,里面每个controller系统会帮你延时加载的(显示时候才真正分配内存),赋值给UITabBarController的viewControllers不一定就全部加载的。