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

iOS View自定义窍门——UIButton实现上显示图片,下显示文字

2017-11-02 14:05 465 查看
第一种
自定义类继承UIButton,然后
-(void)layoutSubviews
{
[super layoutSubviews];
CGFloat midX = self.frame.size.width / 2;
CGFloat midY = self.frame.size.height/ 2 ;
self.titleLabel.center = CGPointMake(midX, midY + 15);
self.imageView.center = CGPointMake(midX, midY - 10);

}
第二种
- (void)verticalImageAndTitle:(CGFloat)spacing{self.titleLabel.backgroundColor = [UIColor greenColor];CGSize imageSize = self.imageView.frame.size;CGSize titleSize = self.titleLabel.frame.size;CGSize textSize = [self.titleLabel.text sizeWithFont:self.titleLabel.font];CGSize frameSize = CGSizeMake(ceilf(textSize.width), ceilf(textSize.height));if (titleSize.width + 0.5 < frameSize.width) {titleSize.width = frameSize.width;}CGFloat totalHeight = (imageSize.height + titleSize.height + spacing);self.imageEdgeInsets = UIEdgeInsetsMake(- (totalHeight - imageSize.height), 0.0, 0.0, - titleSize.width);self.titleEdgeInsets = UIEdgeInsetsMake(0, - imageSize.width, - (totalHeight - titleSize.height), 0);}
效果如下。imageView和label的大小都是根据内容确定的,而且二者的整体始终在中央,上下的间距可以设置。使用的时候要保证Button的宽度一定要大于等于图片的宽
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UIButton
相关文章推荐