我一直在尝试使用“同步”按钮来显示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)
}
有人能解决这个问题吗?
最佳答案
使用.text时,使用set title方法而不是.text,它设置标题文本,但约束不会相应更新,因此需要使用settitle方法并将adjustsfontsizeToFitWidth设置为true。
self.syncBtn.setTitle(timeStamp, forState: UIControlState.Normal)
self.syncBtn.titleLabel?.adjustsFontSizeToFitWidth = true