• UI组件之Button


    UIButton:按钮,可以实现用户和app的交互,父类是UIControl,事件驱动型的组件的父类都是UIControl.一般使用类方法创建一个对象,创建时指定button的类型,

     iOS7.0后采用UIButtonTypeRoundedRect没有圆角的效果

    UIButton *button=[UIButton buttonWithType:UIButtonTypeSystem];

    设置正常状态UIControlStateNormal下的标题,按钮一般使用选中状态UIControlStateSelected,高亮状态UIControlStateHighLighted

    [button setTitle:@"click" forState:UIControlStateNormal];

    设置某种状态下标题的颜色(一般正常状态)

    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

    选中状态时的标题颜色

    [button setTitleColor:[UIColor redColor] forState:UIControlStateSelected];

    设置为选中状态

    button.selected=YES;

    给按钮添加一个监听器对象self

    当用户按下并松开(UIControlEventTouchUpInside)事件发生时,由self调用action的方法响应处理

    [button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];

    UIControlEventTouchDown:当按钮按下未松开时的事件

    [button addTarget:self action:@selector(buttonDown:) forControlEvents:UIControlEventTouchDown];

    注:addTarget: 所跟参数为一个类名,给类中存放@selector()中调用的方法

    设置某种状态下标题的颜色(一般正常状态)

    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

    选中状态时的标题颜色

    [button setTitleColor:[UIColor redColor] forState:UIControlStateSelected];

    自定义button时,继承UIButton,并选择重写以下方法

    - (CGRect)backgroundRectForBounds:(CGRect)bounds;

    - (CGRect)contentRectForBounds:(CGRect)bounds;            

    - (CGRect)titleRectForContentRect:(CGRect)contentRect;    //标题在按钮中的显示位置和大小

    - (CGRect)imageRectForContentRect:(CGRect)contentRect;    //图片在按钮中的显示位置和大小

    参数sender是发生事件的对象

    -(void)buttonClick:(UIButton *)sender

    {

        获取button当前的标题:sender.currentTitle

        获取button上的标题:sender.titleLabel.text

        获取button某种状态下的标题:[sender titleForState:UIControlStateNormal]

    }

    http://www.cnblogs.com/PaulpauL/ 版权声明:本文为博主原创文章,未经博主允许不得转载。
  • 相关阅读:
    标题栏中小图标和文字垂直居中的解决办法
    width:100%和width:inherit
    css盒子模型的宽度问题
    position:absolute和margin:auto 连用实现元素水平垂直居中
    超链接a的download属性 实现文件下载功能
    JavaScript的String对象的属性和方法
    原生JavaScript 封装ajax
    深入理解JVM之对象分配流程
    http协议详解
    在RMI方式实现RPC时,为什么业务实现类UserServiceImpl中要显示的创建无参构造方法
  • 原文地址:https://www.cnblogs.com/PaulpauL/p/4796351.html
Copyright © 2020-2023  润新知