美文网首页
4. UIButton 按钮

4. UIButton 按钮

作者: LucXion | 来源:发表于2017-09-13 11:27 被阅读0次

    标签:按钮背景尺寸、内容偏移、按钮自带的点击效果、取消高亮

    • 常用技巧

    1.根据button设置navigationitem(可取消点击闪烁效果)

    self.rightItem = [[UIBarButtonItem alloc]initWithCustomView:rightBtn];
    

    2.给按钮设置背景图片

    [btn setImage:newImage forState:UIControlStateNormal];
    

    3.设置按钮背景图片的尺寸

    -(CGRect)imageRectForContentRect:(CGRect)contentRect
    

    4.设置点击改变按钮的背景图片

    [btn setBackgroundImage :[UIImage imageNamed:@"LuckyRototeSelected"] forState:UIControlStateSelected];
    //手动设置状态
    sender.selected = YES;
    

    5.设置按钮内容偏移

    btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;
    //但是问题又出来,此时文字会紧贴到做边框,我们可以设置
    btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);
            //设置图片内容的填充模式为按原大小中心对齐(添加小箭头)
            titleButton.imageView.contentMode = UIViewContentModeCenter;
           
            //设置图片内容超出部分不切割,为YES则切割,为NO则不切割,默认为YES
            titleButton.imageView.clipsToBounds = NO;
    
            //设置内容的整体左边内间距
            titleButton.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
            
            //设置文字的左边内间距
            titleButton.titleEdgeInsets = UIEdgeInsetsMake(0, 5, 0, 0);
    
          //设置按钮内容整体居左
            titleButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
    

    6.Unbutton的字体,通过本身label控件来实现

    btn .titleLable.font
    

    7.设置两个按钮圆角

        [self.getAuthCodeBtn.layer setMasksToBounds:YES];
        [self.getAuthCodeBtn.layer setCornerRadius:15];
    

    8.取消按钮高亮

    [btn addTarget:self action:@selector(preventFlicker:) forControlEvents:UIControlEventAllTouchEvents];
    
    /**
     去除按钮高亮
     */
    -(void)preventFlicker:(UIButton*)sender{
        sender.highlighted = NO;
    }
    
    

    9.取消按钮能选中状态,重写按钮类中的

    -(void)setHighlighted:(BOOL)highlighted{
       不需要返回什么,写就行了
    }
    

    10.其他属性
    10.1.adjustsImageWhenDisabled
    当按钮禁用的情况下,图像的颜色会被画深一点,默认为YES。
    10.2.adjustsImageWhenHighlighted
    当按钮高亮的情况下,图像的颜色会被画深一点,默认为YES。
    10.3.showsTouchWhenHighlighted

    // 点击时的闪光效果会被前景图片遮住中间部分;
    button.showsTouchWhenHighlighted=YES;
    

    相关文章

      网友评论

          本文标题:4. UIButton 按钮

          本文链接:https://www.haomeiwen.com/subject/shuksxtx.html