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

  • 相关阅读:
    vue插件编写与开发
    http状态码解读
    JavaScript 在HTML中的加载顺序
    vue props的理解
    vue项目中使用scss
    [LeetCode] 57. 插入区间
    [LeetCode] 55. 跳跃游戏
    [LeetCode] 56. 合并区间
    [LeetCode] 54. 螺旋矩阵
    [LeetCode] 53. 最大子序和
  • 原文地址:https://www.cnblogs.com/lifengfneg/p/4773804.html
Copyright © 2020-2023  润新知