2014-10-08 4 views
1

Я боролся с тем, что может быть ошибкой в ​​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 

} 
+0

Я пробовал много, чтобы решить, что в некотором роде - и шансов не было. Это закончилось тем, что я сейчас (его приложение для iPad) представляет Popover с TextView и вставляет созданный текст в мой TableView. В противном случае у меня были подобные проблемы, подобные вам. – derdida

+0

Единственный способ - это придумать обходное решение. Единственное, что приходит на ум, - это как-то заставить его думать, что уже есть некоторые строки, но трудно думать о чем-то, что не слишком грязно. – invertedfjord

+0

вид сумасшедшего, что Apple еще не сделала простой способ сделать это. Я полагаю, что я могу полностью отключить автоматическую компоновку и программно вставить все. Кажется ребенком смешного, чтобы выполнить такую ​​легкую задачу. Я не нашел простой способ сделать это на Xcode 6.3. Было бы здорово услышать любые идеи. – invertedfjord

ответ

0

я надеюсь, что это будет использовать полный пока Xcode не исправить ошибку использование enter code here view.content = CGSizeMake (0800) // как это и осуществлять в соответствии с ориентацией

+0

Я использовал func textViewDidChange (textView: UITextView) { textView.contentSize = CGSizeMake (0, 800). Это, похоже, не имело никакого эффекта. Есть ли где-нибудь еще, что я могу исправить это, или я что-то упускаю? – invertedfjord

Смежные вопросы