Я работаю над приложением iOS, в котором я использую ячейку прототипа, а в этой ячейке я использую UITextView.
Я использую автоматический макет с раскадровкой и устанавливаю ограничения, чтобы высота ячейка должна автоматически измениться.
Я хочу, чтобы UITextView изменял высоту, чтобы текст, который я набираю, помещался внутри него, вместо того, чтобы вам приходилось прокручивать, чтобы увидеть текст, который переполняется. И размер ячейки tableview также должен быть изменен.
Это мой код:
@IBOutlet weak var tableviewCart: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.tableviewCart.estimatedRowHeight = 142.0
self.tableviewCart.rowHeight = UITableViewAutomaticDimension
// Do any additional setup after loading the view.
}
class CartMenuItemCell:UITableViewCell{
@IBOutlet weak var heightConstraintsFoodInstruction: NSLayoutConstraint!
@IBOutlet var dishImageHeightConstraints: NSLayoutConstraint!
@IBOutlet weak var dishImageWidthConstraints: NSLayoutConstraint!
@IBOutlet weak var imgDishImageview: UIImageView!
@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var priceLabel: UILabel!
@IBOutlet weak var bottomLabelHeightConstraints: NSLayoutConstraint!
@IBOutlet weak var addMenuItemView: UIView!
@IBOutlet weak var addMenuItemButton: UIButton!
@IBOutlet weak var menuItemCountLabel: UILabel!
@IBOutlet weak var removeMenuItemButton: UIButton!
}
Вы отключили прокрутку вашего UITextView
? (Я не вижу, чтобы он указан как IBOutlet
в опубликованном вами коде ...)
Ваша конфигурация tableView выглядит хорошо.
@IBOutlet weak var tableviewCart: UITableView! {
didSet {
tableviewCart.estimatedRowHeight = 142.0
tableviewCart.rowHeight = UITableViewAutomaticDimension
}
}
Вам просто нужно добавить ограничение высоты в textView с именем textViewHeightConstraint
и установить его равным textView 'textView.contentSize.height'
textViewHeightConstraint.constant = textView.contentSize.height
И макет его superview
textView? .superview? .layoutIfNeeded ()
После того, как пользователь закончил редактирование текста, вы где-нибудь сохранили это значение?