2016-08-26 6 views
0

Я искал, как я могу привязать нижнюю часть моего стола к верхней части моего вида контейнера, которая находится в нижней части моего представления, поэтому, когда я нажимаю появляется текстовое поле, отображается представление контейнера, в котором есть текстовое поле и кнопка. Но как я могу увидеть нижнюю часть моего табличного представления, когда я пишу сообщение в виде контейнера? Что-то вроде прокрутки автоматически в нижней части таблицы, когда появляется контейнер с текстовым полем и кнопкой, поэтому я могу видеть последние ячейки.Якорь нижней части моего стола в верхней части моего вида контейнера

Вот код зрения контейнера:

lazy var inputTextField: UITextField = { 
    let textField = UITextField() 
    textField.placeholder = "Enter message..." 
    textField.translatesAutoresizingMaskIntoConstraints = false 
    textField.delegate = self 

    textField.frame.size.width = 150.0 
    return textField 
}() 


lazy var sendButton: UIButton = { 
    let boton = UIButton(type: .System) 
    boton.setTitle("Delete", forState: .Normal) 
    boton.translatesAutoresizingMaskIntoConstraints = false 
    boton.addTarget(self, action: #selector(handleSend), forControlEvents: .TouchUpInside) 
    return boton 

}() 

// MARK: container 

lazy var inputContainerView: UIView = { 

    let containerView = UIView() 
    containerView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 50) 
    containerView.backgroundColor = UIColor.whiteColor() 

    containerView.addSubview(self.inputTextField) 
    containerView.addSubview(self.sendButton) 

    //I added some constrains to the textfield and the button 

    return containerView 

Также у меня есть эти методы:

override var inputAccessoryView: UIView? { 
    get { 
     return inputContainerView 
    } 
} 

override func canBecomeFirstResponder() -> Bool { 
    return true 
} 

Итак, как я могу это сделать?

+0

Как объявить ограничения высоты, сверху или снизу таблицы, а затем изменить ее константу при нажатии текстового поля. – ravelinx

+0

Как бы вы это сделали? – Edwjonn

+0

@EdwJohn вы можете объявить ограничение, перетащив его из раскадровки в класс, как IBOutlet, а затем просто изменив его константу, как это имяConstraint.constant = 10 или размер, который вы хотите – ravelinx

ответ

0

Установите Tableview в contentInset.bottom собственности на данную высоту зрения контейнера, затем:

tableView.layoutIfNeeded() 
tableView.setContentOffset(CGPoint(x: 0, y: tableView.contentSize.height-tableView.frame.height+tableView.contentInset.bottom), animated: true) 

... чтобы заставить его перейти к нижней части.

+0

Где я должен положить этот код? – Edwjonn

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