此图片显示了我想要实现:配件按钮上的文字大小,以匹配按钮大小
我指定的2个按钮的宽度是相同的0.4 * redViewWidth和高度0.8 * redViewheight。比我想要的文字大小为2行,尽可能大,仍然适合按钮框架。我正在使用自定义字体并且没有自动布局。令我惊讶的是,这并没有发生。该文本是在2行,但文字字体太大,并明确不适合按钮大小。我哪里做错了?
编辑:redView使用自动布局。用按钮填充redView不使用。
let font = UIFont(name: "customfont", size: 19)
button1 = UIButton()
button2 = UIButton()
button1.frame = CGRectMake(navigationBarView.frame.width*0.6, navigationBarView.frame.height*0.1, navigationBarView.frame.width*0.4, navigationBarView.frame.height*0.8)
button2.frame = CGRectMake(navigationBarView.frame.width*0.2, navigationBarView.frame.height*0.1, navigationBarView.frame.width*0.4, navigationBarView.frame.height*0.8)
button1.setTitle("button2\ntext text text text", forState: UIControlState.Normal)
button1.titleLabel?.textAlignment = NSTextAlignment.Center
button1.titleLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
button1.titleLabel?.font=font
button1.titleLabel?.adjustsFontSizeToFitWidth=true
button1.titleLabel?.minimumScaleFactor = 0.1
button2.setTitle("button1\ntext text text text", forState: UIControlState.Normal)
button2.titleLabel?.textAlignment = NSTextAlignment.Center
button2.titleLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
button2.titleLabel?.font=font
button2.titleLabel?.adjustsFontSizeToFitWidth=true
button2.titleLabel?.minimumScaleFactor = 0.1
其实,标题标签在2行中已经有了这个意思。问题是文本字体大小不调整以匹配按钮的框架。 – brumbrum
看看编辑,另一种方法是遍历字体大小,并检查每个字体的lineHeight属性,虽然这看起来有点怪异。 –
感谢您的阻止。请原谅我,如果我误解了代码..我认为这会改变按钮框架,以适应其标题中的任何文本。在我的情况下,框架是固定的 - 总是0.4 * redViewWidth。这是需要改变以考虑iOS设备的不同屏幕的字体大小。 – brumbrum