iOS_UIButton 实现button的内容左对齐以及图片和标题中间的间隔

要实现一个类似折叠效果的按钮  不多说 直接上代码和效果


- (void)createButton
{
    UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 55)];
    button.backgroundColor = [UIColor orangeColor];
    [button setTitle:@"你到底要不要点我呀" forState:UIControlStateNormal];
    button.titleLabel.textColor = [UIColor blackColor];
    [button addTarget:self action:@selector(onClick:) forControlEvents:UIControlEventTouchUpInside];
    [button setImage:[UIImage imageNamed:@"arrow_down.png"] forState:UIControlStateNormal];
    button.adjustsImageWhenHighlighted = NO;// 取消图片的高亮状态
    
    button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;// 水平左对齐
    button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;// 垂直居中对齐
    
    /**
     * 按照上面的操作 按钮的内容对津贴屏幕左边缘 不美观 可以添加一下代码实现间隔已达到美观
     * UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)
     *    top: 为正数:表示向下偏移  为负数:表示向上偏移
     *   left: 为整数:表示向右偏移  为负数:表示向左偏移
     * bottom: 为整数:表示向上偏移  为负数:表示向下偏移
     *  right: 为整数:表示向左偏移  为负数:表示向右偏移
     *
    **/
    button.imageEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);//
    button.titleEdgeInsets = UIEdgeInsetsMake(0, button.imageView.frame.size.width, 0, 0);
    
    [self.view addSubview:button];
    

}
// 点击方法
- (void)onClick:(UIButton *)sender
{
    sender.selected = !sender.selected;
    if (sender.selected == YES) {
        
        sender.backgroundColor = [UIColor orangeColor];
        
    }else{
    
        sender.backgroundColor = [UIColor blueColor];
    }
 
}


实现效果:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值