学习UI两天后基本掌握了一些UI的基本控件用法。先说明一下,我学的是iOS 不是IOS,不是ios,也不是IoS等等款七八糟的写法。
下面既是我对简述也是自己对这两天学习的回顾:(以下所有代码全是在xcode上可运行的,我用的是xcode7.2)
先说UIWindow:
1.UIWindow: 在一个程序中有且只有一个主window
1>取消程序的可视化入口,Main.sb
2>创建主window对象
我们创建主 window,使其大小和屏幕一样
UIScreen 系统屏幕类
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
给你创建的窗口填颜色 UIcolor 系统的颜色类
_window.backgroundColor =[UIColor blueColor];
//让window 显示,并成为主窗口 并 显示
[_window makeKeyAndVisible];
4.设置window主窗口
在xcode7 之后 必须设置rootViewController,否则,在该方法结束的时候,会崩溃
_window.rootViewController = [[UIViewController alloc]init];
3>UIwindow 继承于UIView
综上所述,开始一个需要UI设计布局的程序时,啥都不用想,只要建好工程并在AppDelegate.m的文件里找到:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return YES;
}
然后再 { 之后开始新建我们的主窗口,即主Window对象:
(1)UIScreen 系统屏幕类
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
(2)给你创建的窗口填颜色 UIcolor 系统的颜色类
_window.backgroundColor =[UIColor blueColor];
(3)让window 显示,并成为主窗口并显示
[_window makeKeyAndVisible];
(4).设置window主窗口
注意:(在xcode7 之后 必须设置rootViewController,否则,在该方法结束的时候,会崩溃)
_window.rootViewController = [[UIViewController alloc]init];
2.UIView (
UIView 与NSObject相似,是UI阶段的根类,大部分控件继承与UIView
首先我们先要添加一个UIView,方法如下:
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
接着去给这个UIView添加背景色
view.backgroundColor = [UIColor greenColor];
让我们直接将UIView加到_Window上
[_window addSubview:view];
遇到UIView的子类,都看完一使用以上方式创建和显示
这个UIView在屏幕中显示为矩形,因为在创建的识货我在其中定义了四个数值(0,0,100,100)分别是(x,y,width,heigh)
在这里值得一说的是这个坐标系。我们在数学的学习中也接触过坐标系,但千万不要以为是一样的 完全是两个概念得坐标系。
iOS系统坐标系
1.与数学中的坐标系不同 ,y轴的正方向是向下的
2.原点是屏幕的左上角
接着说我们的UIView
UIView的基本属性
UIView *testView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[_window addSubview:testView];
背景色
testView.backgroundColor = [UIColor cyanColor];
alpha 透明度0。0~1.0 默认值 1.0
testView.alpha = 0.2;
3.tag 标记(编号)(默认为0)
testView.tag = 1000;
根据tag获取到对应的view
UIView *view1 = [_window viewWithTag:1000];
知道怎么设计view了 我们就说说视图层级的关系
先做出三个视图
UIView *firstView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 80, 80)];
firstView.backgroundColor = [UIColor orangeColor];
UIView *secondView = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 80, 80)];
secondView.backgroundColor = [UIColor redColor];
UIView *lastView = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 80, 80)];
lastView.backgroundColor = [UIColor blackColor];
addSubview(添加视图)
[_window addSubview:firstView];
insterSubview:atIndex(插入视图,到指定下标)
NSLog(@"%@",_window.subviews);
[_window insertSubview:secondView atIndex:2];
insterSubview:aboveSubview(插入视图,到指定视图的上面)
[_window insertSubview:lastView aboveSubview:firstView];
insterSubview:belowSubview(插入视图,到指定视图的下面)
[_window insertSubview:lastView belowSubview:secondView];
视图说的差不多了 ,下面回忆一下UILable
什么是 UILable 说白了就是负责显示文本的
如果没有自己的初始化方法,则使用父类的
UILabel *lable = [[UILabel alloc] initWithFrame:CGRectMake(20, 100, 300, 100)];
lable.backgroundColor = [UIColor yellowColor];
[_window addSubview:lable];
让我们看看 lable的属性
1.text
lable.text = @"我叫王煌,我很热;看能否兼顾和欧文哦啊;的看来是你发几个户外;日历卡价格和锐拼接开关后唯品;人均国内宏观;";
2.textColor 文本颜色
lable.textColor = [UIColor lightGrayColor];
3.font 默认值 17
lable.font = [UIFont systemFontOfSize:40];
lable.font = [UIFont boldSystemFontOfSize:40];
.textAlignment 对齐方式 默认对齐方式NSTextAlignmentLeft
lable.textAlignment = NSTextAlignmentRight;
5.numberOfLines
不确定行数时,给0
lable.numberOfLines = 0;
6.换行模式,。。。位置 lineBreakMode
lable.lineBreakMode = NSLineBreakByCharWrapping;
7.阴影颜色
lable.shadowColor = [UIColor redColor];
lable.shadowOffset = CGSizeMake(2, 4);
静态的一些控件差不多说到这,下面说说那个按钮,就是button
什么叫UIButton呢?
直接点就是用来点击的
//UIButtonTypeSystem系统按钮类型
定义一个button
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
给按钮设计颜色
button.backgroundColor = [UIColor purpleColor];
[_window addSubview:button];
定义button的位置
button.hl_x = 150;
button.hl_y = 300;
button.hl_height = 100;
button.hl_width = 100;
[_window addSubview:button];
//给Button添加事件
[button addTarget:self action:@selector(buttonClicked) forControlEvents:UIControlEventTouchUpInside];
//给button添加文字
[button setTitle:@"你点我啊~" forState:UIControlStateNormal];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
还要在}之外给button定义好buttonClick的方法
次外还有个可以直接显示文字的控件就是UITextField
UITextField
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(150, 450, 100, 100)];
textField.backgroundColor = [UIColor yellowColor];
[_window addSubview:textField];
1.给输入框附了初值
textField.text = @"文字";
2.text.Color 文字颜色
textField.textColor = [UIColor blackColor];
3.borderStyle 边缘样式
//UITextBorderStyleNone 无
//UITextBorderStyleLine 有边缘线
//UITextBorderStyleBezel
//UITextBorderStyleRoundedRect 边缘圆角
textField.borderStyle = UITextBorderStyleLine;
4.placeholder 占位字符
//当text、不为空时,placeholder 是不显示的
textField.placeholder = @"请输入你的爱好";
5.clearsOnBeginEdtting
textField.clearsOnBeginEditing = YES;
//command + K 显示、收起键盘
textField.delegate = self;
但在}之外要声明这个textfield的功能
//开始编辑前
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
//return YES 可以编辑
//return NO 不可以编辑
return YES;
}
//已经开始编辑
- (void)textFieldDidBeginEditing:(UITextField *)textField {
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
//处理点击return的时候,需要进行的操作
//回收键盘
return YES;
}
以上就是我目前掌握的一些基础控件,UIWindow,UIView,UIButton, UITextField,UILable
在知道以上控件后,我们只要记住怎么实用就好,首先要声明一下,定义初始化,然后设置颜色,位置,大小,或者一些细节上的问题,最后在表明一下 这个控件是现实在哪个视图上面的就好了!