Я боролся с тем, что может быть ошибкой в Xcode 6.0.1. Я создаю приложение, которое имеет аналогичную сцену, как раздел для создания яблока в почтовом приложении. Я используюТекст курсора/курсор обрезается внизу ios8
func textViewDidChange(textView: UITextView) {
self.tableView.beginUpdates()
self.tableView.endUpdates()
}
, который вызывает tableView.estimatedRowHeight и tableView.rowHeight = UITableViewAutomaticDimension для того, чтобы изменить размер ячейки, соответственно, с помощью автоматической компоновки и простых ограничений. У меня есть cell.mytextview.delagete = self. Это работает безупречно в моей другой сцене, где текст не вводится пользователем.
Проблема заключается в том, что камера-курсор/курсор обрезается, когда текст достигает клавиатуры или нижней части экрана. Кроме того, если я нажимаю повторно нажимать, не вводя текст, курсор/курсор исчезает в целом примерно 6 раз, пока он не прокрутит меня до конца, пока курсор все еще отключен. Я понял, что если я поместил 5 строк текста, а затем вернусь из строк, введите текст, как правило, он отлично работает. Визуально он похож на this. Кажется, что есть некоторый пробел, где он не автопрокручивает в нужное место. Я также должен отметить, что ячейка и текстовое расширение расширяются, потому что я могу прокручивать вниз и видеть текст. Я уже пытался удалить другие ячейки, чтобы узнать, могут ли они вызвать проблему, но это не повлияло. Я очень сильно искал это и подошел с пустыми руками. Вот какой код.
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cellidentifier : String?
if indexPath.row == 0 {
cellidentifier = "tocell"
}
if indexPath.row == 1 {
cellidentifier = "subjectcell"
}
if indexPath.row == 2 {
cellidentifier = "bodycell"
}
let cell = tableView.dequeueReusableCellWithIdentifier(cellidentifier!) as composeTableViewCell
if indexPath.row == 0 {
cell.tofield!.text = toString
cell.tofield?.delegate = self
}
if indexPath.row == 1 {
cell.subjectfield?.delegate = self
}
if indexPath.row == 2 {
cell.bodyfield?.delegate = self
}
return cell
}
Я пробовал много, чтобы решить, что в некотором роде - и шансов не было. Это закончилось тем, что я сейчас (его приложение для iPad) представляет Popover с TextView и вставляет созданный текст в мой TableView. В противном случае у меня были подобные проблемы, подобные вам. – derdida
Единственный способ - это придумать обходное решение. Единственное, что приходит на ум, - это как-то заставить его думать, что уже есть некоторые строки, но трудно думать о чем-то, что не слишком грязно. – invertedfjord
вид сумасшедшего, что Apple еще не сделала простой способ сделать это. Я полагаю, что я могу полностью отключить автоматическую компоновку и программно вставить все. Кажется ребенком смешного, чтобы выполнить такую легкую задачу. Я не нашел простой способ сделать это на Xcode 6.3. Было бы здорово услышать любые идеи. – invertedfjord