UI-基础控件

学习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

在知道以上控件后,我们只要记住怎么实用就好,首先要声明一下,定义初始化,然后设置颜色,位置,大小,或者一些细节上的问题,最后在表明一下 这个控件是现实在哪个视图上面的就好了!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容