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

  • 相关阅读:
    android 单位详解
    ViewFlipper的使用
    today is history,today is tomorrow
    Android2.1 和之后的版本 中的 drawable(hdpi,ldpi,mdpi) 的区别
    auto_ptr
    android编写Service入门
    Android程序完全退出的三种方法
    Android中Toast的用法简介
    安装android开发环境
    error C2850: 'PCH header file'
  • 原文地址:https://www.cnblogs.com/lifengfneg/p/4773804.html
Copyright © 2011-2022 走看看