由于某些原因,我无法在UIButton中正确使用titleLabel。
宽度适合,但不适合身高(由于baselineAdjustment
而应该可以使用)
let btn = UIButton(frame: CGRect(x: (CGFloat(index) * sizePerChar + marginWidthFirstLine / 2), y: marginHeight/2, width: sizePerChar, height: sizePerChar))
btn.setTitle("P", forState: .Normal)
btn.setTitleColor(UIColor.blackColor(), forState: .Normal)
btn.titleLabel!.font = UIFont(name: "KohinoorDevanagari-Regular", size: 150)
btn.titleLabel!.adjustsFontSizeToFitWidth = true
btn.titleLabel!.minimumScaleFactor = 0.1
btn.titleLabel!.baselineAdjustment = .AlignCenters
btn.titleLabel!.textAlignment = .Center
btn.layer.cornerRadius = 10
btn.backgroundColor = UIColor.yellowColor()
self.view.addSubview(btn)
结果如下:
字母m较小且宽度适合,但所有其他字母的高度都太大了......
答案 0 :(得分:1)
应该有效:
btn.titleLabel!.adjustsFontSizeToFitWidth = false
答案 1 :(得分:0)
设置字体后重置高度。
NSDictionary * attributes = [NSDictionary dictionaryWithObjectsAndKeys:yourButton.titleLabel.font,NSFontAttributeName,nil];
CGSize size = [@" Dummy text" sizeWithAttributes:属性];
yourbutton.frame.size.height = size.height;
答案 2 :(得分:0)
这可能与您使用的字体有关。
UIFont(name: "KohinoorDevanagari-Regular", size: 150)
尝试使用systemFont并测试它是否正常工作。 其他明智的应该是有效的