xib中控件简单使用
.h
//从xib中拖拽控件出来,全局变量
//属性前的小圆圈表示这个属性是XIB文件链接出来的,会自动生成属性的声明,IBOutlet表示练出来的是属性
@property (weak,nonatomic) IBOutlet UILabel *label;
//IBAction表示链接出来的方法,和void一样
- (IBAction)btnClick:(id)sender;
.m
//链接出来的方法,系统会自动声明并实现
- (IBAction)btnClick:(id)sender {
_label.backgroundColor= [UIColor blueColor];
NSLog(@"点击了按钮");
}
使用xib常见崩溃的原因
/*
常见崩溃的原因及改正方法
xib(简单快捷)和纯代码()的区别安装包的大小
第一种
//崩溃:reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key label.'
//原因:xib文件连出来的属性名已更改或者已删除
//改正:断开xib上的链接,重新链接
第二种
//崩溃:reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "NowViewController1" nib but the view outlet was not set.'
//原因:self.view的链接断了
//改正:把view连接到Files owner
*/
对ViewController的xib操作。
约束。跳转。编写代码。添加导航的
//第一步:拖拽一个ViewController,再在上面添加需要的各种控制.对控件进行约束(上,下,左,右,长度,高度,只需要4个即可)
对于需要控制跳转页面的控件,点击右键进行action绑定需要跳转页面方式的方法
如果需要对该UIViewController进行编写代码,可创建一个继承与UIViewController的类,然后绑定对该页面进行绑定.
选中蓝色的地方,在class中绑定需要的页面,再在该页面中编写需要的代码
选中设置添加导航栏或者tabBar
(也可点击选中连接线,进行绑定页面,其设置如下)
#pragma mark - Navigation
//跳转页面时调用的方法通常使用这个方法在跳转的时候传递一些数据
// In a storyboard-based application, you will often want to do a little preparation before navigation
// segue是StoryBoard中的连接线
- (void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender {
//这里sender是触发源
//NSLog(@"%@",sender);
//destinationViewController目的地视图控制器
UIViewController*vc = segue.destinationViewController;
//identifier segue的唯一标示符
if([segue.identifierisEqualToString:@"vc3"]) {
//第三页
vc.view.backgroundColor= [UIColorredColor];
}elseif([segue.identifierisEqualToString:@"vc4"]){
//第四页
vc.view.backgroundColor= [UIColoryellowColor];
}else{
//第五页
//注意层次
UINavigationController*nav = (UINavigationController*)vc;
UIViewController*vc5 = nav.viewControllers[0];
vc5.view.backgroundColor= [UIColorblueColor];
}
}