iOS笔记10

1
// initWithRootViewController底层调用pushViewController
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
// initWithRootViewController底层调用pushViewController
// 会把导航控制器的view添加到导航控制器专门存放子控制器的view
//相当于 [nav pushViewController:vc animated:YES];

2
//控制器的入栈和出栈pushViewController、popViewControllerAnimated
[self.navigationController pushViewController:two animated:YES];
[self.navigationController popViewControllerAnimated:YES];

3
// 回到指定控制器
// 注意点:指定的控制器必须是栈里面的控制器
//回到指定的控制器
[self.navigationController popToViewController:self.navigationController.childViewControllers[0] animated:YES];
//回到根控制器
[self.navigationController popToRootViewControllerAnimated:YES];

4
//设置导航条的内容self.navigationItem、
// 设置导航条的内容:由栈顶控制器的navgationItem决定
self.navigationItem.title = @”小码哥”;

// 设置导航条右边
UIButton *cusBtn = [UIButton buttonWithType:UIButtonTypeCustom];

[cusBtn setImage:[UIImage imageNamed:@"navigationbar_friendsearch"] forState:UIControlStateNormal];
[cusBtn setImage:[UIImage imageNamed:@"navigationbar_friendsearch_highlighted"] forState:UIControlStateHighlighted];

//    cusBtn.bounds = CGRectMake(0, 0, 30, 30);
// 想让按钮的尺寸跟图片一样大
// 会自动根据按钮的图片或者文字计算按钮的尺寸
[cusBtn sizeToFit];

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:cusBtn];

self.navigationItem.rightBarButtonItem = item;

// 以后只要看到以item结尾都是苹果提供的模型
// UINavigationItem:决定导航条上的内容(左边,中间,右边)
// UIBarButtonItem:决定导航条上按钮的内容

5
//sizeToFit 自己计算适应的尺寸
// 会自动根据按钮的图片或者文字计算按钮的尺寸
[cusBtn sizeToFit];

6
// 设置导航条titleView 设置导航条左边的内容 self.navigationItem.leftBarButtonItem
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(2000, 2000, 100, 100)];
self.navigationItem.titleView = v;
// 导航条上的控件的位置由苹果自己决定,不能自己决定
// 一般系统自带控件中子控件的位置一般由系统决定,我们只能决定尺寸.

// 设置导航条左边的内容
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"左边" style:UIBarButtonItemStyleDone target:self action:@selector(btnClick)];
self.navigationItem.leftBarButtonItem = item;

7
// 设置图片的渲染模式,返回没有被渲染的图片
UIImage *image = [UIImage imageNamed:@”navigationbar_friendsearch”];

// 设置图片的渲染模式,返回没有被渲染的图片
image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];


UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStyleDone target:nil action:nil];

// 在iOS7之后默认会把导航条上的按钮的图片渲染成蓝色

// 如果想不要渲染,1.修改图片的渲染模式 2.通过代码

self.navigationItem.rightBarButtonItem = rightItem;

8
//如何修改导航栏的内容
导航栏的内容由栈顶控制器的navigationItem属性决定

UINavigationItem有以下属性影响着导航栏的内容
左上角的返回按钮
@property(nonatomic,retain) UIBarButtonItem *backBarButtonItem;
中间的标题视图
@property(nonatomic,retain) UIView          *titleView;
中间的标题文字
@property(nonatomic,copy)   NSString        *title;
左上角的视图
@property(nonatomic,retain) UIBarButtonItem *leftBarButtonItem;
UIBarButtonItem *rightBarButtonItem  右上角的视图
@property(nonatomic,retain) UIBarButtonItem *rightBarButtonItem;

9
//控制器的生命周期
// 控制器的生命周期方法一般是以view开头
// ARC下控制器view的生命周期方法
// viewDidLoad -> viewWillAppear -> viewWillLayoutSubviews -> viewDidLayoutSubviews -> viewDidAppear -> viewWillDisappear -> viewDidDisappear

// 控制器的view加载完成的时候调用
- (void)viewDidLoad { }

// view完全显示的时候调用
- (void)viewDidAppear:(BOOL)animated{ }

// view完全消失的时候调用
- (void)viewDidDisappear:(BOOL)animated{ }

// view布局子控件完成的时候调用
- (void)viewDidLayoutSubviews { }

// view即将显示的时候调用
- (void)viewWillAppear:(BOOL)animated{ }

// view即将消失的时候调用
- (void)viewWillDisappear:(BOOL)animated{ }

// view即将布局子控件的时候调用
- (void)viewWillLayoutSubviews{ }


#pragma mark - 非ARC
// 在接收到内容警告的时候有可能会调用
// view即将销毁的时候调用
- (void)viewWillUnload{ }

//  view完全销毁的时候调用
- (void)viewDidUnload
{
    // 清空数据
    self.datas = nil;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值