IOS-UIButton使用

作者: DaveZ | 来源:发表于2017-09-17 14:42 被阅读0次

    一、IOS UIButton的基本属性

    // 创建一个Button对象,根据类型来创建button
    // 圆角类型button:UIButtonTypeRoundedRect
    // 通过类方法来创建buttonWithType: 类名 + 方法名,不能通过alloc init方式创建
    UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    button.frame = CGRectMake(100, 100, 100, 40);
    
    // 按钮的正常状态
    [button setTitle:@"点击" forState:UIControlStateNormal];
    
    // 按钮的按下状态
    [button setTitle:@"按下" forState:UIControlStateHighlighted];
    
    // 设置按钮的背景色
    button.backgroundColor = [UIColor redColor];
    
    // 设置正常状态下按钮文字的颜色,如果不写其他状态,默认都是用这个文字的颜色
    [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    
    // 设置按下状态文字的颜色
    [button setTitleColor:[UIColor grayColor] forState:UIControlStateHighlighted];
    
    // 设置按钮的风格颜色,只有titleColor没有设置的时候才有用
    [button setTintColor:[UIColor whiteColor]];
    
    // titleLabel:UILabel控件
    button.titleLabel.font = [UIFont systemFontOfSize:25];
    

    上面就是 UIButton 基本属性的使用。

    二、自定义带图片的 UIButton

    UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(100, 200, 100, 100);
    UIImage* icon1 = [UIImage imageNamed:@"img1"];
    UIImage* icon2 = [UIImage imageNamed:@"img2"];
    [button setImage:icon1 forState:UIControlStateNormal];
    [button setImage:icon2 forState:UIControlStateHighlighted];
    

    其实也是很简单的,就是创建了两个图像类,然后设置到 button 上面。

    三、给 UIButton 添加点击事件

    [button addTarget:self action:@selector(clickButton:) forControlEvents:UIControlEventTouchUpInside];
        
    button.tag = 110;
    
    // 对应触发函数如下
    
    // 参数为调用此函数按钮对象本身
    -(void) clickButton:(UIButton*) btn {
        if (btn.tag == 100) {
            NSLog(@"有参被点击");
        }
    }
    

    可以看到触发函数的添加也是很简单的,每个UIButton 都有一个可以设置的 tag,通过这个 tag,我们可以区分当多个 UIButton 共用同一个触发函数的时候。

    如果本身就没有任何参数传递,我们可以把 clickButton 后面的 : 去掉,然后更改对应的触发函数参数个数就好了。

    相关文章

      网友评论

        本文标题:IOS-UIButton使用

        本文链接:https://www.haomeiwen.com/subject/vtopsxtx.html