iOS开发UI基础—手写控件,frame,center和bounds属性 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    一、手写控件

    1.手写控件的步骤

    (1)使用相应的空间类创建控件对象

    (2)设置该控件的各种属性

    (3)添加控件到视图中

    (4)如果是button等控件,还需考虑控件的单击事件等

    (5)注意:View Contollor和view的关系

    2.注意点

    在OC开发中,Storyboard中的所有操作都可以通过代码实现,程序员一定要熟练掌握代码布局界面的能力!

    设置控件监听方法的示例代码如下:

    [btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];

    提示:

    1> addTarget方法定义在UIControl类中,这意味着可以给所有继承自UIControl类的对象添加监听方法

    2> 监听方法的第一个参数就是对象本身

    3> 监听方法的第二个参数是监听控件的事件

    3.代码示例

    复制代码

    1  //1.使用类创建一个按钮对象

    2  // UIButton *headbtn=[[UIButton alloc] initWithFrame.:CGRectMake(100 ,100, 100, 100)];

    3  //设置按钮对象为自定义型

    4  UIButton *headbtn=[UIButton buttonWithType:UIButtonTypeCustom];

    5

    6  //2.设置对象的各项属性

    7  //(1)位置等通用属性设置

    8  headbtn.frame=CGRectMake(100, 100, 100, 100);

    9

    10  //(2)设置普通状态下按钮的属性

    11  [headbtn setBackgroundImage:[UIImage imageNamed:@"i"] forState:UIControlStateNormal];

    12  [headbtn setTitle:@"点我!" forState:UIControlStateNormal];

    13  [headbtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

    14

    15  //(3)设置高亮状态下按钮的属性

    16  [headbtn setBackgroundImage:[UIImage imageNamed:@"a"] forState:UIControlStateHighlighted];

    17  [headbtn setTitle:@"还行吧~" forState:UIControlStateHighlighted];

    18  [headbtn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];

    19

    20  //3.把对象添加到视图中展现出来

    21  [self.view addSubview:headbtn];

    22  //注意点!

    23  self.headImageView=headbtn;

    复制代码

    二、frame,center和bounds属性

    1.frame、center和bounds属性

    frame.:控制位置和大小

    center:控制位置(中心点)

    bounds:控制大小(以自己的左上角为原点)

    2.注意点

    (1)通过以下属性可以修改控件的位置

    frame.origin

    center

    (2)通过以下属性可以修改控件的尺寸

    frame.size

    bounds.size

    3.代码示例

    一个控制图片上下左右平移,缩放的程序(frame、center和bounds属性)

    复制代码

    1 //

    2 // YYViewController.m

    3 // 01-练习使用按钮的frame和center属性

    4 //

    5 // Created by apple on 14-5-21.

    6 // Copyright (c) 2014年 itcase. All rights reserved.

    7 //

    8

    9 #import "YYViewController.h"

    10

    11 //私有扩展

    12 @interface YYViewController ()

    13

    14 @property(nonatomic,weak)IBOutlet UIButton *headImageView;

    15 @end

    16

    17 @implementation YYViewController

    18

    19 //枚举类型,从1开始

    20 typedef enum

    21 {

    22  ktopbtntag=1,

    23  kdownbtntag,

    24  krightbtntag,

    25  kleftbtntag

    26 }btntag;

    27

    28 //viewDidLoad是视图加载完成后调用的方法,通常在此方法中执行视图控制器的初始化工作

    29 - (void)viewDidLoad

    30 {

    31

    32  //在viewDidLoad方法中,不要忘记调用父类的方法实现

    33  [super viewDidLoad];

    34

    35

    36  //手写控件代码

    37  //一、写一个按钮控件,上面有一张图片

    38

    39  //1.使用类创建一个按钮对象

    40  // UIButton *headbtn=[[UIButton alloc] initWithFrame.:CGRectMake(100 ,100, 100, 100)];

    41  //设置按钮对象为自定义型

    42  UIButton *headbtn=[UIButton buttonWithType:UIButtonTypeCustom];

    43

    44  //2.设置对象的各项属性

    45  //(1)位置等通用属性设置

    46  headbtn.frame=CGRectMake(100, 100, 100, 100);

    47

    48  //(2)设置普通状态下按钮的属性

最新文章