程序员iOS开发

iOS-视图之UIButton

2016-03-13  本文已影响193人  茶哥儿

今天我们开始UIButton的研究,UIButton是一个可以产生交互的视图,在App中也是高频出现的视图类,顾名思义就是按钮的意思,看到按钮他的功能我们就一目了然了,就是可以单击,然后发生对应的动作。

//眼熟吧,不多解释了
UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(50, 50, 100, 30)];
[self.view addSubview:button];

//设置button的背景图片,参数为UIImage
[button setBackgroundImage:[UIImage imageNamed: @"tea1.png" ]
                  forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed: @"tea2.png" ]
                  forState:UIControlStateHighlighted];
/*你可能会对我的这两行代码有疑问,很正常,这两句话的意思是button在平时状态
 下的背景是tea1.png,当被点击下去的时候背景图会变成tea2.png,当松开时又会
 变成tea1.png,如果你有兴趣可以继续深入的研究下UIButton的UIControlState*/


//设置button的文本
[button setTitle:@"123"forState:UIControlStateNormal];
[button setTitle:@"321"forState:UIControlStateHighlighted];
//这里是不是与上边很类似,没错作用是一样的



//调整图片在当前button视图上的位置,参数是UIEdgeInsets ,后边的参数分别代表着上,左,下,右
[button setImageEdgeInsets:UIEdgeInsetsMake(0, 10, 0, 0)];

//同上,只不过这个调整的是文字的偏移
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 0, 0, 10)];



//设置button的文本颜色
[button setTitleColor:[UIColor whiteColor]forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor]forState:UIControlStateHighlighted];
//同理哦!


/*为button添加关联事件,UIControlEventTouchUpInside当我们点击在button内部
 并且离开button时也在内部的时候才会触发drinkTea这个方法,这也是UIButton的一个
 方便之处,他为我们设置了很多不同的触发方法。*/
[button addTarget:self action:@selector(drinkTea)
                    forControlEvents:UIControlEventTouchUpInside];

UIButton是可以添加事件的,但是添加事件这里有个小地方要注意下

当没有冒号的时候

没有冒号
[button addTarget:self action:@selector(drinkTea)
                       forControlEvents:UIControlEventTouchUpInside];

- (void)drinkTea {
      NSLog(@"茶哥儿,写快点!");
}

当有冒号的时候

有冒号
[button addTarget:self action:@selector(drinkTea:)
                       forControlEvents:UIControlEventTouchUpInside];

- (void)drinkTea:(UIButton *)sender {
        NSLog(@"茶哥儿,写快点!");
}

看到区别了吧,没错当方法名后边有冒号的时候,对应的方法后边是要跟参数的,参数类型就是UIButton,而参数sender指得就是我们上边创建的button。

创造即永恒,喝茶去……

上一篇下一篇

猜你喜欢

热点阅读