您的位置:首页 > 产品设计 > UI/UE

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

2017-07-27 13:09 453 查看
要实现一个类似折叠效果的按钮  不多说 直接上代码和效果

- (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];
}

}



实现效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐