我一直试图让同步按钮显示Last Sync at (time&date)
。但我得到的只是一行缩短文字。
// Sync Button
syncBtn.frame = CGRectMake(15, height-60, 120, 40)
syncBtn.addTarget(self, action: "syncBtnPressed", forControlEvents: UIControlEvents.TouchUpInside)
syncBtn.setTitle("Last Sync: Never", forState: UIControlState.Normal)
syncBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
syncBtn.layer.borderColor = UIColor.whiteColor().CGColor
syncBtn.layer.borderWidth = 1
syncBtn.layer.cornerRadius = 5
syncBtn.titleLabel?.font = UIFont(name: "Avenir", size: 10)
syncBtn.alpha = 0.5
syncBtn.titleLabel?.sizeToFit()
syncBtn.titleLabel?.textAlignment = NSTextAlignment.Center
syncBtn.titleLabel?.numberOfLines = 2
self.view.addSubview(syncBtn)
这是在标签上获取和设置日期的功能
func printTimestamp(){
var timestamp = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .ShortStyle, timeStyle: .ShortStyle)
self.syncBtn.titleLabel?.text = ("Last Sync at: " + timestamp)
}
任何人都能解决这个问题吗?
答案 0 :(得分:4)
创建一个包含多行文本的UIButton
可能以编程方式
override func viewDidAppear(animated: Bool){
super.viewDidAppear(animated)
btnTwoLine.setTitle("Mulitple line", forState: UIControlState.Normal)
btnTwoLine.titleLabel!.lineBreakMode = NSLineBreakMode.ByWordWrapping;
}
答案 1 :(得分:2)
使用SetTitle方法而不是.text,当您使用.text时,它会设置标题文本,但约束不会相应更新,因此您需要使用SetTitle方法并将adjustsFontSizeToFitWidth设置为true
self.syncBtn.setTitle(timeStamp, forState: UIControlState.Normal)
self.syncBtn.titleLabel?.adjustsFontSizeToFitWidth = true