***//UIViewController不能直接使用,要定义一个子类,继承于它,用子类创建,UIViewController提供模板
1.初始化方法
//VC的初始化方法,这个方法一般自己就调用了,不需要我们再额外的去调用,会初始化一些容器,比如数组字典等
-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self=[super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.arr=[NSMutableArray array];
}
//__FUNCTION__:打印所有的方法名
NSLog(@"%s",__FUNCTION__);
return self;
}
2.注释
#pragma mark 用来添加注释
-(void)loadView
{
[super loadView];
NSLog(@"%s",__FUNCTION__);
//self.view的加载
}
//视图的创建和铺设都在viewedload方法里进行
铺3个textField(偏下)
1个button
在键盘弹出的时候会挡住textField,在Controller.m里签一个协议
<UITextFieldDelegate>
设置代理人
textField1.delegate=self;
这样就可以使用协议里的方法
//点击输入框的时候就会触发的方法,向上移动,等到编译结束再回到原位
//******整个是在移动self.view,父视图的移动会让所有子视图一同移动,而且相对父视图的坐标位置不会发生变化,所以,可以沿用上一个方法的判断
//*****往上走,只要输入框被激活,就会触发这个方法
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if (textField.frame.origin.y > HEIGHT/2) {
//先做一个差值
CGFloat height=textField.frame.origin.y-HEIGHT/2;
self.view.center=CGPointMake(self.view.center.x, self.view.center.y- height);
}
return YES;
}
//*****等到编译结束的时候,再让他回到原位
-(BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
if (textField.frame.origin.y > HEIGHT/2) {
//先做一个he值
CGFloat height=textField.frame.origin.y-HEIGHT/2;
self.view.center=CGPointMake(self.view.center.x, self.view.center.y+height);
}
5.//随机颜色
self.view.backgroundColor=[UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1];
//1.创建一个rootViewController对象
RootViewController *rootVC=[[RootViewController alloc] init];
//2.给window设置根视图控制器,把创建的对象赋给这个属性
self.window.rootViewController=rootVC;
[rootVC release];