转-UIButton定义和设置圆角

//login button
    //  .h 中定义
    UIButton *_loginBtn;
    @property (strong,nonatomic)UIButton *loginBtn;
    
    
    // .m 中实现设置按钮
    @synthesize loginBtn = _loginBtn;//使用备份变量名
    
    //设置按钮的  形状
    self.loginBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    /*
     buttonWithType:  定义button按钮的外形
     六种定义button类型: 下面有图解
     UIButtonTypeCustom = 0,    无类型
     UIButtonTypeRoundedRect,    四个角是圆弧   型的
     UIButtonTypeDetailDisclosure,
     UIButtonTypeInfoLight,
     UIButtonTypeInfoDark,
     UIButtonTypeContactAdd,
     */
    
    //定义button按钮在frame上的坐标(位置),和这个按钮的宽/高
    self.loginBtn.frame = CGRectMake(40, 200, 80, 30);
    
    
    [self.loginBtn setTitle:@"Login" forState:UIControlStateNormal];
    /*
     常用的属性:
      setTitle:  设置button按钮的名称
      setImage: [UIImage imageNamed:@"图名"]  添加图片
      setTitleColor:[UIColor redColor]  设置字体颜色
     
     forState 设置 按钮点击前后的状态   : 下有图解
     UIControlStateHighlighted
     UIControlStateSelected
     UIControlStateDisabled
     UIControlStateNormal
     
     */
    
    // 为按钮添加一个动作
    //  action:  如果点击的话执行的方法
    [self.loginBtn addTarget:self action:@selector(Login:) forControlEvents:UIControlEventTouchUpInside];
    
    //把button控件添加到view中显示
    [self.view addSubview:self.loginBtn];

 

//执行动作的方法
-(IBAction)Login:(id)sender;



 

 

六种定义button类型: 

     UIButtonTypeCustom = 0,   无类型

     UIButtonTypeRoundedRect,   四个角是圆弧  型的   

 

     UIButtonTypeDetailDisclosure    

     UIButtonTypeInfoLight    

 

     UIButtonTypeInfoDark    

 

     UIButtonTypeContactAdd    

 

 

 

 

forState 设置 按钮点击前后的状态   

        点击前                                         点击后

UIControlStateHighlighted

 

UIControlStateSelected   

 

UIControlStateDisabled   

 

      UIControlStateNormal     

 

 

 

UIButtonTypeRoundedRect 设置为这个属性,是可以满足我们普通情况下的按钮圆角,当我们在button上添加背景图片和背景颜色的时候就会发现,这个属性并不适用,因为现在的button已经不是圆角的了,它显示的是图片的形状,当设置背景颜色设置为UIButtonTypeCustom属性才可以显示出来。所以我们需要用UIButton控件的其它属性来满足我们的需求

UIButton *btn;
    [btn.layer setMasksToBounds:YES];
    [btn.layer setCornerRadius:10.0];//设置矩形四个圆角半径
    
    /*
        [btn.layer setBorderWidth:1.0];//边框宽度
     */

 原文:http://blog.csdn.net/like7xiaoben/article/details/7588551

posted @ 2015-09-01 09:55  MokeyChan  阅读(870)  评论(0编辑  收藏  举报