IOS修炼之路

IOS-UIButton使用

2017-09-17  本文已影响0人  DaveZ

一、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 后面的 : 去掉,然后更改对应的触发函数参数个数就好了。

上一篇下一篇

猜你喜欢

热点阅读