包含大约50个具有滚动功能的文本文件的最佳方法是什么?我只为Iphone设备制作了一个应用程序,而我将在视图的最低三分之一处包含文本字段。我应该使用scrollview吗?还是有更好的功能。谢谢
最佳答案
您可以为此使用UITableview
,但是如果表中的行数超过了屏幕上可以容纳的行数,则此方法存在问题。在这种情况下,在屏幕外滚动的单元将被重复使用,并且textField
的内容将丢失。
解:
设置text fields
的委托,然后使用delegate
方法在输入名称时抓取它们。
首先,将变量添加到视图控制器,以保存数组和当前正在编辑的文本字段的行号。
var arrayOfNames : [String] = [String]()
var rowBeingEdited : Int? = nil
然后,在您的cellForRowAtIndexPath方法中,添加:
cell.nameInput.text = "" // just in case cells are re-used, this clears the old value
cell.nameInput.tag = indexPath.row
cell.nameInput.delegate = self
然后添加两个新功能,以捕获文本字段开始/结束编辑的时间:
func textFieldDidEndEditing(textField: UITextField) {
let row = textField.tag
if row >= arrayOfNames.count {
for var addRow = arrayOfNames.count; addRow <= row; addRow++ {
arrayOfNames.append("") // this adds blank rows in case the user skips rows
}
}
arrayOfNames[row] = textField.text
rowBeingEdited = nil
}
func textFieldDidBeginEditing(textField: UITextField) {
rowBeingEdited = textField.tag
}
关于ios - 包含具有滚动功能的文本字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32313864/