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中的哪个方法。

  • 相关阅读:
    快速开发框架:进销存业务注意事项
    延时执行函数:前浪死在沙滩上
    新增筛选方案
    进销存数据库设计:采购订单
    SasS 设计原则十二因素
    四种线程池的解析
    高并发下的流量控制
    Mybatis 缓存机制
    谈谈JVM垃圾回收
    如何使错误日志更加方便地排查问题
  • 原文地址:https://www.cnblogs.com/lifengfneg/p/4773804.html
Copyright © 2011-2022 走看看