iOS設定UIButton圖片在上文字在下
阿新 • • 發佈:2018-12-22
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);