UIButton碎记

UIButton6种风格

    typedef enum {
        UIButtonTypeCustom = 0,          自定义风格
        UIButtonTypeRoundedRect,         圆角矩形
        UIButtonTypeDetailDisclosure,    蓝色小箭头按钮,主要做详细说明用
        UIButtonTypeInfoLight,           亮色感叹号
        UIButtonTypeInfoDark,            暗色感叹号
        UIButtonTypeContactAdd,          十字加号按钮
    } UIButtonType;

状态说明:
不想在选中与未选中之间切换时有『显示』上的变化,可以这样设置

        _subscribeBtn = [[UIButton alloc] initWithFrame:CGRectMake(SCREEN_WIDTH - 50 - 10, 30, 50, 25)];
        [_subscribeBtn setTitle:@"订阅" forState:UIControlStateNormal];
        [_subscribeBtn setTitle:@"订阅" forState:UIControlStateHighlighted];
        [_subscribeBtn setTitle:@"已订阅" forState:UIControlStateSelected];
        [_subscribeBtn setTitle:@"已订阅" forState:UIControlStateSelected | UIControlStateHighlighted];

这样则会,无论在『订阅』到『已订阅』或者『已订阅』到『订阅』时,按钮还没放开(高亮)时值都不会变化。

重点是这一句

[_subscribeBtn setTitle:@"已订阅" forState:UIControlStateSelected | UIControlStateHighlighted];

其他属性

    *
    * 默认情况下,当按钮高亮的情况下,图像的颜色会被画深一点,如果这下面的这个属性设置为no,
    * 那么可以去掉这个功能
    */
    button1.adjustsImageWhenHighlighted = NO;
    /*跟上面的情况一样,默认情况下,当按钮禁用的时候,图像会被画得深一点,设置NO可以取消设置*/
    button1.adjustsImageWhenDisabled = NO;
    /* 下面的这个属性设置为yes的状态下,按钮按下会发光*/
    button1.showsTouchWhenHighlighted = YES;

你可能感兴趣的:(UIButton碎记)