Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 刷新时将UITextField添加到子视图_Swift_Uiview_Uitextfield - Fatal编程技术网

Swift 刷新时将UITextField添加到子视图

Swift 刷新时将UITextField添加到子视图,swift,uiview,uitextfield,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: (s

我正在向视图中添加一个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个文本字段在彼此的顶部吗


我有一种感觉,我只是涂了一层油漆来掩盖缺陷,而不是做正确的工作

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


与每次添加文本字段不同,您应该在开头添加一个文本字段,并将字符串值设置为用户每次单击按钮时的日期。首先,您应该使用UILabel。仅当用户需要更改文本时,才需要UITextFields

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

然后,在单击事件集hidden=false并更新文本


或者你可以避免设置hidden=true,如果你只是将标签文本留空

听起来更像是一个用户体验问题,而不是一个技术问题……我认为用户不会在意,我要求确保我以正确的方式进行操作,并且不要让100个文本字段相互重叠,从而加重资源负担