UIButton

  //UIButton - 按钮,可以用来与用户进行交互

    //UIButton -> UIControl -> UIView

    

    //button一般情况下不使用实例方法创建

    /*

     UIButtonTypeCustom                             // 自定义按钮类型,也是系统默认值(一般都会使用这个)

     UIButtonTypeSystem              // 系统样式

  一般很少使用以下样式,因为项目的按钮我们一般都是直接加个背景图片

     UIButtonTypeDetailDisclosure       //样式如图

     UIButtonTypeInfoLight            //样式如图

     UIButtonTypeInfoDark            //样式如图

     UIButtonTypeContactAdd          // 显示一张“”的图片

     UIButtonTypeRoundedRect = UIButtonTypeSystem   //跟UIButtonTypeSystem一样的

     */

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];

  

  //设置按钮的位置与大小

    btn.frame = CGRectMake(100, 100, 100, 50);

  

 //设置按钮的文字,在什么状态下显示

    /*按钮的状态

     UIControlStateNormal                   // 常规下的状态

     UIControlStateHighlighted                          // 高亮时的状态

     UIControlStateDisabled                            // 按钮不可用时的状态

     UIControlStateSelected                       // 选中时的状态

  这些状态要配合button的两个属性一起使用,[注意]这两个属性很重要,因为后期有很多动态操作都需要通过这两个属性来判断

  [注意]使用这两个属性时要注意逻辑性跟实际情况,比如你把按钮btn.enabled设置为NO,又把btn.selected设置为YES,那就矛盾了,因为你把它设置为不    可按了,那又怎么选中呢

  btn.enabled    //是否可按,YES为可按,NO为不可按

      btn.selected //是否为选中状态,YES为选中状态,NO为美选中状态

  

     */

    //普通下的状态

    [btn setTitle:@"按钮" forState:UIControlStateNormal];

    //高亮时的状态(点击不放时的状态)

    [btn setTitle:@"已点击" forState:UIControlStateHighlighted];

    //设置字体的颜色

    [btn setTitleColor:[UIColor yellowColor] forState:UIControlStateNormal];

    //点击不放时的颜色

    [btn setTitleColor:[UIColor purpleColor] forState:UIControlStateHighlighted];

    //修改字体大小

    btn.titleLabel.font = [UIFont boldSystemFontOfSize:16];

    //设置按钮的背景颜色

    btn.backgroundColor = [UIColor redColor];

    //设置按钮文字的阴影

    //[btn setTitleShadowColor:[UIColor greenColor] forState:UIControlStateNormal];

    //设置按钮文字阴影的偏移量

    //[btn setTitleShadowOffset:CGSizeMake(3, 3)];

   

    //修改文字偏移量

    //创建一个结构体

  //UIEdgeInsets set = UIEdgeInsetsMake(20, 0, 0, 0);

    //[btn setTitleEdgeInsets:set];

    

    //设置按钮的背景图片

    //使用背景图片加载的方式会将图片拉伸到整个按钮的宽高,缺点就是会导致图片变形

    //imageNamed:如果没有添加图片的后缀,会自动在图片名的后面加.png,如果使用的是.jpg图片,需要手动添加.jpg

    UIImage *bgrdImg = [UIImage imageNamed:@"account_candou"];

    [btn setBackgroundImage:bgrdImg forState:UIControlStateNormal];

    

    //设置按钮的图片

    //图片不会被拉升 [注意]与上面背景图片的区别

    [btn setImage:[UIImage imageNamed:@"account_collect"] forState:UIControlStateNormal];

    //设置图片的偏移量

    [btn setImageEdgeInsets:UIEdgeInsetsMake(0, 0, 0, -30)];

 

   // 添加一个事件

  /*

     UIControlEventyou很多种类型,大家自己通过command+点击这个方法就可以看到多种类型了,这里就不多做讲诉

     */

    [btn addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];

 

  // 为按钮添加标签

    // tag是UIView的属性,[注意]标签值一般要大,避免重复,还有不要为0,因为系统默认self.window的标签为0

    _btn.tag = 5678;

  

 

 

//***************分割线*******************

//该函数就是上面按钮的响应事件,这里函数的参数就是我们按下的那个按钮,通过该值我们可以获得很多关于按钮的信息

/*

sender.currentTitle;    //按钮的文字

sender.currentTitleColor;   //按钮的文字颜色

sender.currentImage    //按钮上的图片

sender.currentBackgroundImage  //按钮上的背景图片

还有很多,大家可以自己到Xcode自带的文件看下

*/

-(void)btnAction:(UIButton *)sender

{

    sender.enabled = NO;

}

   

 

新手练习题:

1.微信题

就是模仿微信,点击微信,那么其他三个就变成灰色,且微信就不可再点击了,可以通过点击改变上面的背景色

四个按钮

原文地址:https://www.cnblogs.com/Mr-Lin/p/5093306.html