我在向用户执行活动时显示时间戳的视图添加TextField:
let now = NSDate()
let textString = NSLocalizedString("LAST_UPDATE", comment: "Last Update: ") + self.dateFormatter.stringFromDate(now)
self.refreshTimeText = UITextField(frame: CGRect(x: (self.tableView.frame.size.width / 2) - 100.00, y: 125, width: 200.00, height: 10.00));
self.refreshTimeText.text = textString
self.refreshTimeText.font = UIFont(name: "Arial", size: 10)
self.refreshTimeText.textAlignment = .Center
self.refreshTimeView.addSubview(self.refreshTimeText)
最初我的问题是之前的TextField时间戳显示在新的TextField下,我通过添加self.refreshTimeText.backgroundColor = UIColor.whiteColor()
更正了此问题。
我这样做是对的吗?如果用户决定垃圾邮件刷新按钮(100次),我是否会将100个TextField叠加在一起?
我有一种感觉,我只是涂上一层油漆来掩盖不完美而不是做正确的工作。
答案 0 :(得分:1)
是的,每次都会继续添加文本字段。 您可以使用textview.subviews.count检查它,并亲自查看计数增加
每次在开头添加一个文本字段时,不要添加文本字段,只需在每次用户单击按钮时将字符串值设置为日期
答案 1 :(得分:0)
首先你应该使用UILabel。仅当用户需要更改文本时才需要UITextField。
您应该将标签添加到xib文件并将其设置为隐藏(隐藏在xib文件中,或者隐藏在viewDidLoad()中。将其连接到IBOutlet
然后,在click事件中设置hidden = false并更新文本
如果你只是将标签文字留空
,你可以避免设置hidden = true