4.UIButton

1>创建一个普通的btn

    //创建一个btn,UIButton类型的btn通过类方法来创建,一般不通过allocinit函数来创建

    UIButton* btn = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];

    

    //设置btn的位子和大小

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

    

    //根据按钮的状态显示内容

    //UIControlStateNormal:正常状态

    //UIControlStateHighlighted:按下状态

    //UIControlStateSelected:

    [btn setTitle:@"按钮正常状态"forState:UIControlStateNormal];

    [btn setTitle:@"按钮按下状态"forState:UIControlStateHighlighted];

    [btn setTitle:@"按钮选中状态"forState:UIControlStateSelected];

    

    //设置按钮的背景颜色

    btn.backgroundColor = [UIColorblueColor];

    

    //设置按钮的状态设置文字颜色

    [btn setTitleColor:[UIColorredColor]forState:UIControlStateNormal];

    [btn setTitleColor:[UIColorgrayColor]forState:UIControlStateHighlighted];


    //设置按钮的风格颜色,就是按钮的内容颜色,优先级没有setTitleColor

    [btn setTintColor:[UIColorwhiteColor]];

    

    //设置按钮内容的字体大小

    btn.titleLabel.font = [UIFontsystemFontOfSize:18];


    //设置阴影的颜色

    [btn setTitleShadowColor:[UIColorredColor]forState:UIControlStateNormal];

    //设置阴影的偏移

    btn.titleLabel.shadowOffset =CGSizeMake(3,3);


    //(自定义按钮)在点击之后 title 显示高亮的效果 : 系统按钮默认已经做了这些操作

    btn.showsTouchWhenHighlighted =YES;


    //自定义按钮默认情况下图片会有高亮显示效果,可以手动关闭(关闭之后,图片会保持原样)

    btn.adjustsImageWhenHighlighted =NO;


    //自定义按钮默认情况下图片会有 disable 显示效果,可以手动关闭(关闭之后,图片会保持原样)

    btn.adjustsImageWhenDisabled =NO;


    //调整内容的垂直布局方式

    btn.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;

    //调整内容的水平布局方式

    btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

    //调整图片的偏移

    btn.imageEdgeInsets = UIEdgeInsetsMake(10010000);

    //调整图片的偏移

    btn.titleEdgeInsets = UIEdgeInsetsMake(300000);


2>创建一个imagebin

    //创建一个自定义类型的btn

    UIButton* btnImage = [UIButtonbuttonWithType:UIButtonTypeCustom];

    

    btnImage.frame =CGRectMake(100,200,100,200);

    

    //加载图片

    UIImage* icon01 = [UIImageimageNamed:@"btn01.png"];

    UIImage* icon02 = [UIImageimageNamed:@"btn02.png"];

    

    //根据按钮的状态来显示图片

    [btnImage setImage:icon01forState:UIControlStateNormal];

    [btnImage setImage:icon02forState:UIControlStateHighlighted];


注意

1️⃣setImagesetBackgroundImage的区别

使用setImage函数:当图片大于btn的大小时,会自动缩小; 当图片小于btn的大小时,图片不会放大

使用setBackgroundImage函数:图片会自适应btn的大小


2️⃣UIButton控件的层级关系:backgroundColor->backgroundImage->imagetitle


3️⃣UIButton里面包含着一个UILabel控件,当需要设置跟状态相关属性的时候,只能通过button控件来设置,通过子控件来设置是无效的;只有与状态无关的属性通过子控件来设置才是有效的


3>UIButton事件处理机制

     //向按钮添加事件函数

    //参数一:事件处理函数的调用者

    //参数二:事件处理函数

    //参数三:按钮事件类型

    //UIControlEventTouchUpInside:在按钮内抬起

    //UIControlEventTouchUpOutside:在按钮外抬起

    //UIControlEventTouchDown:按钮按下

    [btn addTarget:selfaction:@selector(pressbtn:)forControlEvents:UIControlEventTouchUpInside];

注意:如果事件处理函数有参数,那么默认会把按钮本身作为第一个参数传到事件处理函数里面;事件处理函数也可以没有参数


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值