UI基础-UI基础控件(一)

一.UIView

1.简单说明

曾经有人这么说过,在iphone里你看到的,摸到的,都是UIView,所以UIView在iphone开发里具有非常重要的作用。

2.常见属性

1.frame 位置和尺寸(以父控件的左上角为原点(0, 0))

2.center 中点

3.bounds 位置和尺寸(以自己的左上角为原点(0, 0))

4.transform 形变属性(缩放, 旋转)

5.background 背景颜色

6.tag 标识(父控件可以根据这个标识找到对应的子控件,同一个父控件中的子控件不要一样)

7.hidden 设置是否隐藏

8.alpha 透明度(0~1);

9.opaque 不透明度(0~1);

10.userInteractionEnabled 能否跟用户进行交互 (BOOL型 YES能交互)

11.superView 父控件

12.subView 子控件

13.contentMode 内容显示的模式 拉伸自适应

3.常见方法

1.addSubview;

添加子控件,子控件在父控件的上层

2.removeFromSuperview

从父控件中移除

3.viewWithTag;

父控件通过Tag找到对应的控件

4.insertSubview:atIndex:

通过指定位置添加子控件

4.代码示例

    CGRect rect1 = CGRectMake(10, 10, 100, 100);
    //  创建矩形区域
    UIView *view1 = [[UIView alloc] initWithFrame:rect1];
    //对矩形区域初始化
    [self.window addSubview:view1];
    //添加进入window
    [view1 setBackgroundColor:[UIColor blueColor]];
    //设置背景颜色

二.UILable

UIView  标签:是显示文本的控件。是App中出现频率最高的控件。

UILable是UIView的子类,作为子类一般是为了扩充父类的功能,UILable扩展了文字显示的功能,UILable是能显示文字的视图。

所谓文本,就是我们的文字,文本显示,就是在视图上显示文字,主要有文本内容,文本字体,文本颜色,文本对齐方式,文本换行模式,文本行数,文本阴影等

1.使用UILable的步骤:

开辟空间并且初始化

设置文本控制相关属性

添加到父视图

释放等几个步骤

示例:

    UILabel *userNameLabel = [[UILabel alloc]initWithFrame:CGRectMake(30, 100, 100, 30)];
    userNameLabel.text = @"?用户名";
    [containerView addSubview:userNameLabel];
    [userNameLabel release];

2.文本控件属性

1.text 要显?的文本内容

label.text = @“用户名”;

2.textColor 文本内容的颜色

label.textColor = [UIColor redColor];

3.textAlignment 文本对齐方式(水平方向)

label.textAlignment = NSTextAlignmentLeft;

4.font 文本字体

label.font = [UIFont fontWithName:@“Helvetica-Bold” size:20;//黑体加粗,20号字。

5.numberOfLines 行数

label.numberOfLines = 3;//显示3行,注意label的高度要能容纳3行。如果3?没能显示完信息,没显示的信息以

省略号代替。

6.lineBreakMode 断行模式

label.lineBreakMode = NSLineBreakByWordWrapping;//以单词为单位换?

7.shadowColor 阴影颜色

label.shadowColor = [UIColor yellowColor];阴影黄色

8.shadowOffset  阴影大小

label.shadowOffset = CGSizeMake(2, 1);//阴影想X正方向偏移2,向Y正方向偏移1

3.小结

UIView是所有可视化控件的基类。

UILabel是具有特定外观特定功能的视图。

UILabel侧重于?文本的呈现。

现在我们创建一个类似于用户登陆界面的视图;

代码示例:

 1     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
 2     [self.window makeKeyAndVisible];
 3
 4     UIView *containerView = [[[UIView alloc] initWithFrame:self.window.bounds]autorelease];
 5     [containerView setBackgroundColor:[UIColor whiteColor]];
 6     [self.window addSubview:containerView];
 7
 8
 9     CGRect rect1 = CGRectMake(30, 50, 100, 40);
10     CGRect rect2 = CGRectMake(150, 50, 150, 40);
11     CGRect rect3 = CGRectMake(30, 110, 100, 40);
12     CGRect rect4 = CGRectMake(150, 110, 150, 40);
13     CGRect rect5 = CGRectMake(30, 170, 70, 40);
14     CGRect rect6 = CGRectMake(130, 170, 90, 40);
15     CGRect rect7 = CGRectMake(250, 170, 70, 40);
16
17     UILabel *lable1 = [[[UILabel alloc] initWithFrame:rect1] autorelease];
18     UITextField *textfield1 = [[[UITextField alloc] initWithFrame:rect2]autorelease];
19     UILabel *lable2 = [[[UILabel alloc] initWithFrame:rect3] autorelease];
20     UITextField *textfield2 = [[[UITextField alloc] initWithFrame:rect4] autorelease];
21     UIButton *button1= [[[UIButton alloc] initWithFrame:rect5] autorelease];
22     UIButton *button2 = [[[UIButton alloc] initWithFrame:rect6] autorelease];
23     UIButton *button3 = [[[UIButton alloc] initWithFrame:rect7] autorelease];
24
25     [lable1 setText:@"用户名"];
26     textfield1.placeholder = @"手机号/邮箱";
27     [lable2 setText:@"密码"];
28     textfield2.placeholder = @"*******";
29     textfield2.secureTextEntry = YES;
30     [button1 setTitle:@"登陆" forState:UIControlStateNormal];
31     [button1 setTitleColor:[UIColor cyanColor] forState:UIControlStateNormal];
32     [button2 setTitle:@"找回密码" forState:UIControlStateNormal];
33     [button2 setTitleColor:[UIColor cyanColor] forState:UIControlStateNormal];
34     [button3 setTitle:@"注册" forState:UIControlStateNormal];
35     [button3 setTitleColor:[UIColor cyanColor] forState:UIControlStateNormal];
36
37
38
39
40
41     [self.window addSubview:lable1];
42     [self.window addSubview:textfield1];
43     [self.window addSubview:lable2];
44     [self.window addSubview:textfield2];
45     [self.window addSubview:button1];
46     [self.window addSubview:button2];
47     [self.window addSubview:button3];

实现效果:

时间: 2024-08-06 03:23:15

UI基础-UI基础控件(一)的相关文章

OS开发UI基础—手写控件,frame,center和bounds属性

OS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4)如果是button等控件,还需考虑控件的单击事件等 (5)注意:View Contollor和view的关系 2.注意点 在OC开发中,Storyboard中的所有操作都可以通过代码实现,程序员一定要熟练掌握代码布局界面的能力! 设置控件监听方法的示例代码如下: [btn addTarget:sel

iOS开发UI篇—手写控件,frame,center和bounds属性

iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4)如果是button等控件,还需考虑控件的单击事件等 (5)注意:View Contollor和view的关系 2.注意点 在OC开发中,Storyboard中的所有操作都可以通过代码实现,程序员一定要熟练掌握代码布局界面的能力! 设置控件监听方法的示例代码如下: [btn addTarget:se

可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取)

可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) 分类: SharePoint2011-12-23 14:44 1584人阅读 评论(0) 收藏 举报 文档sharepointurl测试stringforms 可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) 1.在部署的sharepoint网站中新建一个名为“测试文档库”的文档库,并添加各级的子文件夹和子文件,用于测试 2.在VS2010中新建空

Kendo UI for Angular 2 控件

Kendo UI for Angular 2 控件 伴随着 Angular 2 的正式 release,Kendo UI for Angular 2 的第一批控件已经发布了,当前是 Beta 版本,免费使用. 官方站点:Kendo UI for Angular 2 Kendo UI for Angular 被打包成独立的多个 NPM package,在 Progress NPM 之下 ( https://registry.npm.telerik.com/ ), 要想访问它,你需要一个激活的 Te

Semantic UI中的验证控件的事件的使用

1.Semantic UI中的验证控件,功能挺不错的,中文官网的文档写的都比较详细了,我再这里就不再进行重复了,主要是想说一下它的事件的使用方法,这个可能有部分朋友刚开始接触的时候不太了解 注意看这几个事件:前两个是对于字段验证通过和失败之后的事件的调用,后两个是对整个form是否都验证通过或者失败时调用的事件,于是我们在调用的时候可以这么写 function login() { $(".ui.form").form( { username: { identifier: 'userNa

iOS开发UI基础—手写控件,frame,center和bounds属性

一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4)如果是button等控件,还需考虑控件的单击事件等 (5)注意:View Contollor和view的关系 2.注意点 在OC开发中,Storyboard中的所有操作都可以通过代码实现,程序员一定要熟练掌握代码布局界面的能力! 设置控件监听方法的示例代码如下: [btn addTarget:self action:@selector(click:) forContro

IOS 开发笔记-基础 UI(8)控件连线的 strong 和 weak 设定

回忆 oc 的内存管理: objective-c 语法快速过(6)内存管理原理,objective-c 语法快速过(7)编译器特性ARC ARC是苹果为了简化程序员对内存的管理,推出的一套内存管理机制,使用ARC机制,对象的申请和释放工作会在运行时,由编译器自动在代码中添加retain和release 1> strong:强指针引用的对象,在生命周期内不会被系统释放,在OC中,对象默认都是强指针 2> weak:弱指针引用的对象,系统会立即释放,弱指针可以指向其他已经被强指针引用的对象 他们都

WP8.1 UI 编程 九、控件编程

1. 控件继承关系 UIElement ↑ FrameworkElement ↑                  ↑ Panel           Control ↑      ↑ ContentControl   ItemsControl UIElement是具有可视化外挂并且可以处理基本输入的大多数对象的基类,但不公开构造方法,其作用就是作为Framework的基类,对UI的基础操作进行封装. FrameworkElement扩展了UIElement,并添加布局相关方法和属性和对数据绑定

集成 Kendo UI for Angular 2 控件

伴随着 Angular 2 的正式 release,Kendo UI for Angular 2 的第一批控件已经发布了,当前是 Beta 版本,免费使用. 官方站点:Kendo UI for Angular 2  Kendo UI for Angular 被打包成独立的多个 NPM package,在 Progress NPM 之下 ( https://registry.npm.telerik.com/ ), 要想访问它,你需要一个激活的 Telerik account , 如果你现在还没有这

swift基础语法之控件使用02

//第一个控制器:显示基础控件 import UIKit class ViewController: UIViewController { var label: UILabel = UILabel() var button: UIButton = UIButton() var imageView: UIImageView = UIImageView() //    var label: UILabel? //    var button: UIButton? //    var imageVie