今天在写Button时遇到一个需求,要求文字靠左显示。于是我设置了btn的titleLabel的textAlignment属性为NSTextAlignmentLeft。本以为这样就结束了,但是试了试效果。当文字比较少时,左边会流出大片空白;当文字比较多时,确实靠左了。
后来查了下文档,发现UIButton还有contentHorizontalAlignment这个属性(how to position content hozontally inside control. default is center),
self.btn.titleLabel.textAlignment = NSTextAlignmentLeft;
self.btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
self.btn.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
这样,文字就能完全居左显示了。