iOS设置UIButton图片在上文字在下
写app的UI时总会碰到一个按钮下方还会有文字提示,以往我的做法都是UIButton设置为图片,在下方再添加一个UILabel,后来发现有一个更简单的方法,直接设置UIButton的图片加文字,并调整位置。代码如下
UIButton *myButton = [[UIButton alloc] init];myButton.titleLabel.backgroundColor = [UIColor greenColor];CGSize imageSize = myButton.imageView.frame.size;CGSize titleSize = myButton.titleLabel.frame.size;CGSize textSize = [myButton.titleLabel.text myButton.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);myButton.imageEdgeInsets = UIEdgeInsetsMake(- (totalHeight - imageSize.height), 0.0, 0.0, - titleSize.width);myButton.titleEdgeInsets = UIEdgeInsetsMake(0, - imageSize.width, - (totalHeight - titleSize.height), 0);