• UIButton


    UIButton(按钮):是响应⽤户点击的控件。侧重于处理⽤户交互 事件。
     
    • 创建UIButton与创建UILabel、UITextField、UIView的步骤很相似。
    1、创建button对象(如果本类有初始化⽅法,则使⽤⾃⼰的初始化 ⽅法;否则使⽤⽗类的)。
    2、设置按钮相关的属性
    3、为按钮添加点击事件
    4、添加按钮到⽗视图上,⽤以显⽰
    5、按钮⽆需释放(⼀般情况创建UIButton都使⽤⾃⼰的便利构造器 ⽅法,⽆需释放对象的所有权)
     
    //创建一个UIButton对象, UIButton侧重于交互,响应事件
       
        //如果button样式是system,那么不给定标题颜色,也能看见标题,默认为蓝色
        //如果button样式custom,那么除了给定标题内容之外,还需要给定标题文本颜色
        UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    //    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
        //设置frame
        button.frame = CGRectMake(100, 400, 200, 200);
       
        //设置button显示的文本(标题)
        [button setTitle:@"点这里" forState:UIControlStateNormal];
       
        //设置button的颜色
        [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
     
         //设置button的背景图片
        [button setBackgroundImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateHighlighted];
     
                 //设置button的前景图片
        [button setImage:[UIImage imageNamed:@"xigua"] forState:UIControlStateHighlighted];
     
         //点击时如果设置了图片,不出现按钮闪动的效果
        button.adjustsImageWhenHighlighted = NO;
     
         //非常关键的方法,为button添加一个事件
         //self是执行对象,click是要执行的方法 (必须实现)
        [button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
       
        [containerView addSubview:button];
     
         //设置前景图片时,使用custom样式,如果图片大小大于button的大小,那么图片会被压缩到与button等大,如果图片大小小于button的大小,那么图片保留其原有大小
        //设置背景图片时,不论使用custom还是system,图片大于或者小于button大小,都会显示的与button等大
     
    点击事件 及 Normal  Highlighted  Selected  三种state的使用
     
    1.什么都没干的时候:Normal
     
    2.当你的手指按下去,还没放的时候:Highlighted(高亮状态)
     
    3.当手指放开的时候:如果这个 UIControl 有 Selected 状态的话,就会变成: Selected(Selected默认为NO,要显示Selected状态需要在点击方法中代码实现)
     
         //不设置selected的话默认为NO,当前显示Normal、按下Button后为Highlighted状态、松开按钮变回Normal状态
    //Normal->Highlighted-> Normal
        [button setImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateNormal];
         [button setImage:[UIImage imageNamed:@"xigua"] forState:UIControlStateHighlighted];
     
    //当前显示Normal、点击button按住不放,显示Highlighted状态、手指放开为Selected状态、再点击放开为Normal状态
        //Normal->Highlighted-> Selected-> Normal
        [btn setBackgroundImage:[UIImage imageNamed:@"check"] forState:UIControlStateNormal];
        [btn setBackgroundImage:[UIImage imageNamed:@"xigua"] forState:UIControlStateHighlighted]; //一般实现两个图片交换时不设置高亮状态,并且将高亮状态设置为NO,此处只是为了演示三种状态的结合使用
        [btn setBackgroundImage:[UIImage imageNamed:@"checked"] forState:UIControlStateSelected];
        [btn addTarget:self action:@selector(change:) forControlEvents:UIControlEventTouchUpInside];
     
    //    btn.adjustsImageWhenHighlighted = NO;
     
    //实现按钮背景图交换的方法,实现selected状态
    - (void)change:(UIButton *)button {
        button.selected = !button.selected;
    }
     
     
     
  • 相关阅读:
    Oracle 11g导出空表
    如何破解ROS路由器禁用路由PPPOE拨号?
    Oracle入门心得(2)
    ORACLE了局,每天10问(五)
    若何消除Oracle数据库的安静隐患(3)
    Oracle入门心得(1)
    ORACLE用户自定义备份与恢复条记
    ORACLE成绩,每天10问(三)
    ORACLE问题,每天10问(一)
    怎样消除Oracle数据库的安全隐患(1)
  • 原文地址:https://www.cnblogs.com/Walking-Jin/p/5210773.html
Copyright © 2020-2023  润新知