iOS UI学习笔记(四)UIButton

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];




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值