您的位置:首页 > 产品设计 > UI/UE

iOS UI学习笔记(四)UIButton

2016-01-06 09:24 288 查看
iOS中按钮的学习,UIButton。

<span style="font-size:18px;"> //OS中按钮的学习,UIButton。使用自己的初始化方法。
UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];</span>


设置标题:

<span style="font-size:18px;">//为按钮设置标题
[btn setTitle:@"点我啊" forState:UIControlStateNormal];</span>


设置大小,并添加视图:

//设置大小
[btn setFrame:CGRectMake(100, 100, 100, 30)];

[self.window addSubview:btn];


为按钮添加点击事件:

//为按钮添加点击事件 target-action 目标动作机制
/*
*target:目标,方法的执行体。
*action:按钮的回调方法,如果方法有参数,那么这个参数一定是按钮本身。方法没有参数也可以。
*events:哪种触摸方式会触发按钮的回调方法。
*/
//self。如果写在对象方法中,即-方法,self就代表类对象,如果写在类方法中,也就是oc的加号方法中,self就代表本类。
<pre name="code" class="objc">[btn addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];



btnAction方法的定义,写在本类文件里。

注意:在这里虽然是button在调用,但是self在类方法里指的是本类的对象。

- (void)btnAction:(UIButton*)sender{
//    调试语句
NSLog(@"sb");
//    点击按钮,改变按钮的标题
[sender setTitle:@"点你大爷" forState:UIControlStateNormal];
//点击按钮随机给背景换颜色
[self.window setBackgroundColor:[UIColor colorWithRed:arc4random()%255/255.0 green:arc4random()%255/255.0 blue:arc4random()%255/255.0 alpha:1.0]];


这个时候如果是Xcode7以下的版本,可以点击给背景换颜色了。

7以上的版本还需要再加一句。

[self.window bringSubviewToFront:btn];
因为7以上的版本可能被视图控制器(不知道是不是这个东西)给覆盖了,所以点不了,需要挪到最上层。

其他方法:

//设置高亮标题
[btn setTitle:@"高亮" forState:UIControlStateHighlighted];


几种常用的点击方式:

//    UIControlEventTouchDragInside 点击后在内部滑动,距离一定时触发
//    UIControlEventTouchDragOutside 点击后在外部滑动,足够远触发
<p class="p1"><span class="s1">//    UIControlEventTouchUpInside </span><span class="s2">单击(手指按下离开的时候触发)最常用的点击方式</span></p><p class="p1"><span class="s1">//      UIControlEventTouchDown   </span><span class="s2">单击</span><span class="s1"> </span><span class="s2">(手指按下即触发)</span></p>


按钮的选中状态:

[btn setTitle:@"选中" forState:UIControlStateSelected];
//选中状态需要配合selected来使用。
if(sender.selected == YES)
{
sender.selected = NO;
}else{
sender.selected = YES;
};
上述代码在点击的回调方法中实现。

custom类型的button:

//custom类型的button
//初始化一个button
UIButton *myBtn = [UIButton buttonWithType:UIButtonTypeCustom];


//添加图片给按钮
UIImage *image = [UIImage imageNamed:@"321.jpg"];
[myBtn setImage:image forState:UIControlStateNormal];
//设置按钮的frame
[myBtn setFrame:CGRectMake(0, 0, 375, 500)];
//设置按钮的回调方法
[myBtn addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];
//将按钮添加到父视图上面去
[self.window addSubview:myBtn];


custom可以设置图片给按钮。

获取某个状态下的图片。

//获取某个状态下的图片
[myBtn imageForState:UIControlStateHighlighted];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: