UI基础控件篇
创建window
1.删除Main
2.ARC->MRC(自动改手动)
3.删除(ViewController.h/.m)
4.strong->retain(AppDelegate.h)
5.重写dealloc方法
- (void)dealloc
{
[_windowrelease];
[superdealloc];
}
创建window和当前屏幕一样大[UIScreen mainScreen].bounds
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
设置window颜色
self.window.backgroundColor = [UIColor whiteColor];
设置window可见
[self.window makeKeyAndVisible];
xcode7崩溃解决
self.window.rootViewController = [[UIViewController alloc] init];
内存管理
[_window release];
UIView(视图基类)
1.创建视图 设置frame
UIView *firstView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
2.设置属性
firstView.backgroundColor = [UIColor redColor];
3.添加到父视图(window)显示
[self.window addSubview:firstView];
4.内存管理
[firstView release];
view属性
显示/隐藏hidden
aView.hidden = NO;
透明度alpha(0-1的浮点数)
aView.alpha = 1;
动画
[UIView animateWithDuration:1 animations:^{
aView.alpha = 0;
aView.frame = CGRectMake(0, 0, 200, 200);
}];
标记值tag
aView.tag = 1000;
通过标记寻找视图
UIView *tempView = [self.window viewWithTag:1000];
tempView.backgroundColor = [UIColor purpleColor];
定时器NSTimer
每隔一段时间 让某某做某事
参数1:时间间隔
参数2:某某
参数3:某事
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(suibian) userInfo:nil repeats:YES];
UILabel
1.创建+frame
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
2.属性设置
label.backgroundColor = [UIColor yellowColor];
3.添加父视图
[self.window addSubview:label];
4.内存管理
[label release];
label文字相关属性
显示文字( 默认 左对齐/居中显示/文本黑色/行数为1/背景透明色)
label.text = @"这是一个label";
文本颜色textColor
label.textColor = [UIColor purpleColor];
文本对齐方式
label.textAlignment = NSTextAlignmentCenter;
断行模式(文本省略方式) lineBreakMode
label.lineBreakMode = NSLineBreakByTruncatingMiddle;
文本行数numberOfLines( 默认为1为0时行数不限)
label.numberOfLines = 0;
字体font
label.font = [UIFont systemFontOfSize:30];
阴影shadow
label.shadowColor = [UIColor blueColor];
阴影偏移量
label.shadowOffset = CGSizeMake(10, 10);
UIButton
1.创建(便利构造器方法)
UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
2.设置frame
btn.frame = CGRectMake(100, 100, 100, 100);
3.设置属性
btn.backgroundColor = [UIColor redColor];
4.绑定按钮点击事件(按钮被点击时 能够触发一个方法)
参数1: target目标(调用方法的人)
参数2: action动作(调用的方法)
参数3: events事件(方法的触发条件)
UIControlEventTouchUpInside控制事件之 触摸顶端按下去
“ :”参数标志(之后一定会跟随一个参数)
[btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
5.添加父视图
[self.window addSubview:btn];
按钮文字
参数1:标题内容
参数2:状态
[btn setTitle:@"正常" forState:UIControlStateNormal];
UITextField
创建UITextField
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
设置背景颜色
textField.backgroundColor = [UIColor whiteColor];
添加父视图
[self.window addSubview:textField];
内存管理
[textField release];
UITextField文本控制
占位字符串placeholder
textField.placeholder = @"红红火火恍恍惚惚";
UITextField输入控制
是否可用enabled
textField.enabled = YES;
安全文本输入secureTextEntry
textField.secureTextEntry = YES;
键盘样式keyboardType
textField.keyboardType = UIKeyboardTypeDefault;
return(回车按键)样式
textField.returnKeyType = UIReturnKeyGoogle;
开始输入时清空
textField.text = @"输入的内容";
textField.clearsOnBeginEditing = YES;
UITextField外观控制
输入框样式
textField.borderStyle = UITextBorderStyleNone;
边框宽度
textField.layer.borderWidth = 1;
边框颜色
textField.layer.borderColor = [UIColor lightGrayColor].CGColor;
切圆角(圆形:正方形边长的一半)
textField.layer.cornerRadius = textField.frame.size.width / 2;
清除按钮
textField.clearButtonMode = UITextFieldViewModeAlways;
键盘回收
1.签订系统协议
@interface AppDelegate ()
@end
UITextField *tf1 = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 200, 40)];
tf1.backgroundColor = [UIColor yellowColor];
[self.window addSubview:tf1];
[tf1 release];
2.设置代理人
tf1.delegate = self;
tf1.tag = 1000;
3.协议方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
UITextField *tf1 = [self.window viewWithTag:1000];
失去第一响应者
[tf1 resignFirstResponder];
}