《ios编程》UINavigationController

相比于之前的看视频,现在回头来看一下书,觉得理解的更加深刻,并知道了以前没有了解的知识点,当然还有更多的知识可以看官方文档,但是英语不好的话就太花时间了,也没有必要这样做。

1.UINavigationController的rootViewController,topViewController和viewCtrollers

UINavigationController的rootViewController属性变量一直存放在栈底,topViewController放在栈顶,viewCotrollers存放UInavigationController压入的各种UIViewController。

2.UINavigationController视图层次关系
UINavigationController的视图(view)至少有两个子视图,一个是UINavigationBar,一个是topViewController的视图(view),并且在显示时UINavigationController调整了topViewController的view的大小。UINavigationBar上面的子视图又是从topViewController的navigationItem(UINavigationItem类)的三个属性变量中拿到的,UINavigationItem的三个属性分别是leftBarButtonItem(UIBarButtonItem类),titleView(UIView和其子类),rightBarButtonItem(UIBarButtonItem类)。当然UINavigationBar的title部分可以直接拿topViewController的title属性(即只需设这个属性就能显示到navigationBar上)。


3.UITableViewContrller的编辑模式
表格控制对象有一个isEditing属性来返回一个BOOL类型来说明是视图否处于编辑模式,向表格对象发送setEditing:animated:消息设置是否为编辑模式。
- (void)toggleEditingMode:(id)sender
{
	// If we are currently in editing mode...
	if ([self isEditing]) {
		// Change text of button to inform user of state
		[sender setTitle:@"Edit" forState:UIControlStateNormal];
		// Turn off editing mode
		[self setEditing:NO animated:YES];
	} else {
		// Change text of button to inform user of state
		[sender setTitle:@"Done" forState:UIControlStateNormal];
		// Enter editing mode
		[self setEditing:YES animated:YES];
	}
}

如果要在navigationBar上面添加一个按钮实现上面代码效果只需一句:
[[self navigationItem] setLeftBarButtonItem:[self editButtonItem]];

因为UITableViewController的editButtonItem已经实现了相应的动作。

4.为UITextField设置数字键盘
在xib文件中对UITextField的属性设置,通过属性检视板(attributes inspector)找到相应的设置。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值