zoukankan      html  css  js  c++  java
  • iOS开发之通过代码自定义一个控件

    关于控件的继承关系(面试重点):

    1)所有的控件都继承自UIView

    2)能监听事件的都是先继承自UIControlUIControl再继承自UIView。比如UIButton

    3)能整体滑动的都是继承自UIScrollViewUIScrollView再继承自UIView。比如UITableView

    4UIWindow也是继承自UIView

    首先,创建控件的代码要写在

    - (void)viewDidLoad{

    };

    中,这个方法是在view被创建完毕后执行的方法。

    1、创建按钮

    UIButton *btn = [[UIButton alloc] init];

    2、将按钮添加到view中

     [self.view addSubview:btn];

    3、设置frame(设置控件的位置和大小)

    btn.frame = CGRectMake(50, 50, 100, 100);

     4、设置背景图片

    (1)通过文件名加载图片(凡是PNG图片,都不用加拓展名)

    UIImage *normal = [UIImage imageNamed:@"btn_01"];

    (2)设置普通状态下的背景图片

    [btn setBackgroundImage:normal forState:UIControlStateNormal];

    (3)加载高亮的图片

    UIImage *high = [UIImage imageNamed:@"btn_02"];

    [btn setBackgroundImage:high forState:UIControlStateHighlighted];

    5、设置文字

     [btn setTitle:@"点我啊" forState:UIControlStateNormal];

     [btn setTitle:@"摸我干啥" forState:UIControlStateHighlighted];

    6、设置文字颜色

    [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

    [btn setTitleColor:[UIColor blueColor] forState:

    UIControlStateHighlighted];

    7、监听按钮点击

    [btn addTarget:self action:@selector(btnClick:) forControlEvents:

    UIControlEventTouchUpInside];

    【备注】*可以通过tag找到一个控件,例如:

    UIButton *button = (UIButton *)[self.view viewWithTag:10];

    由于[self.view viewWithTag:10]的返回值为UIView所以需要加上(UIButton *)强制转换为UIButton。

    *对于监听按钮点击

    [btn addTarget:self action:@selector(btnClick:) forControlEvents:

    UIControlEventTouchUpInside];

    addTarget的参数代表哪一个view,action代表这个view中的哪个方法。

  • 相关阅读:
    java利用zxing编码解码一维码与二维码
    Spring和MyBatis环境整合
    ML中Boosting和Bagging的比較
    理解x64代码模型
    python list.remove(),del()和filter & lambda
    限制文本域中字符输入个数
    arcgis api for flex之专题图制作(饼状图,柱状图等)
    Linux I/O复用中select poll epoll模型的介绍及其优缺点的比較
    开发H5游戏引擎的选择:Egret或Laya?
    C++刷题——2830: 递归求1*1+2*2+3*3+……+n*n
  • 原文地址:https://www.cnblogs.com/lifengfneg/p/4773804.html
Copyright © 2011-2022 走看看