刷新

时间:2016-02-22 03:36:23

标签: swift uiview uitextfield

我在向用户执行活动时显示时间戳的视图添加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叠加在一起?

我有一种感觉,我只是涂上一层油漆来掩盖不完美而不是做正确的工作。

2 个答案:

答案 0 :(得分:1)

是的,每次都会继续添加文本字段。 您可以使用textview.subviews.count检查它,并亲自查看计数增加

每次在开头添加一个文本字段时,不要添加文本字段,只需在每次用户单击按钮时将字符串值设置为日期

答案 1 :(得分:0)

首先你应该使用UILabel。仅当用户需要更改文本时才需要UITextField。

您应该将标签添加到xib文件并将其设置为隐藏(隐藏在xib文件中,或者隐藏在viewDidLoad()中。将其连接到IBOutlet

然后,在click事件中设置hidden = false并更新文本

如果你只是将标签文字留空

,你可以避免设置hidden = true