ios开发 xib界面跳转
. Xib的VC跳转
Xib的跳转和纯代码的跳转优点区别,挑战时需要在初始化的VC中带上要跳到Xib的名称,如下为跳转方法
loginSuccessViewController *_vc = [[loginSuccessViewController alloc]initWithNibName:@"loginSuccessViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:_vc animated:YES];
- 纯代码的VC跳转
loginSuccessViewController *_vc = [[loginSuccessViewController alloc]init];
[self.navigationController pushViewController:_vc animated:YES];
iOS中xib与storyboard各种加载
xib 加载自定义View
UIView *view = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil][0];
xib 加载自定义控制器
UIViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
storyboard 加载自定义控制器
UIStoryboard*storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController*vc = [storyboard instantiateInitialViewController];
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"HomeViewController" bundle:nil];
HomeViewController *homeVC = [storyBoard instantiateViewControllerWithIdentifier:@"HomeViewController"];
HomeNavigationController *nav1 = [[HomeNavigationController alloc] initWithRootViewController:homeVC];
nav1.tabBarItem.title = @"主页";
xib 加载自定义cell
复制代码
//第一步在控制器生命周期中注册
[self.msgTableView registerNib:[UINib nibWithNibName:@"RTJFMyMsgTableViewCell" bundle:nil] forCellReuseIdentifier:cellID];
//第二步在表格数据源代理中返回
RTJFMyMsgTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (cell == nil) {
cell = [[RTJFMyMsgTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
}
return cell;