在UIViewController中添加UITabBar

在一个View中单独添加 UITabBar,

但是时不时的就报错。

经查询:原因是因为在另一个view没有加载完时就把含有TabBar的View加载了,正确的时放在 viewDidAppear:方法中。

错误代码:

// 错误代码

// Main Controller 
@implementation MainViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    HomeViewController *homeViewController =   [[HomeViewController alloc] init];
    // 此时呈现包含UITabBar的控制器
    [self presentViewController:homeViewController animated:NO completion:nil];
}


// 正确代码
-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    HomeViewController *homeViewController = [[HomeViewController alloc] init];
    [self presentViewController:homeViewController animated:NO completion:nil];
}
原文地址:https://www.cnblogs.com/1oo1/p/4013919.html