tarBar添加多个NC

创建tarBar后 需要添加多个navigationController或者viewController

如果挨个创建 会觉得很不方便
使用NSClassFromString(@"" )字符串转化为类名的方法 可以便捷创建
//创建tabBar
tabBar = [[UITabBarController alloc]init];
// VC/NC 的title 存放在一个array
    NSArray *vcName = @[@"chat", @"friend", @"show", @"about"];

    for (int i = 0; i < 4; i ++) {

        NSString *classVName = [vcName[i] stringByAppendingString:@"ViewController"];

 字符串转化为类名 创建实例对象 NSClassFromString(字符串)
        UIViewController *vc = [[NSClassFromString(classVName) alloc] init];

        UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:vc];

        [vc.navigationItem setTitle:vcName [i]];        nc.tabBarItem = [[UITabBarItem alloc]initWithTitle:vcName[i] image:nil selectedImage:nil];        [_tabBar addChildViewController:nc];
    

对于VC和NC的命名,目前我还没有找到将字符串作为实例对象的名字的方法,所有创建的多个VC/NC名字都只能 UIViewController *vc或是UINavigationController *nc

有知道的大神麻烦告知🙏
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 7,438评论 1 14
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 8,991评论 2 4
  • //设置尺寸为屏幕尺寸的时候self.window = [[UIWindow alloc] initWithFra...
    LuckTime阅读 4,396评论 0 0
  • 一个app往往有很多界面,而界面之间的跳转也就是对应控制器的跳转,控制器的跳转一般有两种情况 push 或者 mo...
    Dariel阅读 15,557评论 73 185
  • 一个人如果没有好奇心,就只能终日浑浑噩噩的躲在自己的象牙塔中。我们在日常生活中遇事应该多问问自己“为何?”...
    圆舞amour阅读 1,499评论 1 1

友情链接更多精彩内容