我有一个小问题,关于伸展细胞。我正在使用WSTagsField库。
class UITableViewCell: UITableViewCell {
@IBOutlet weak var tagsView: UIView!
}
class UITableViewController: UITableViewController {
override func viewDidLoad() {
tableView.estimatedRowHeight = 44
}
override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
cell = tableView.dequeueReusableCell(withIdentifier: "tagField", for: indexPath) as! AddManuallyRecipeTableViewCell
let tagsView = cell.tagsView!
let tagsField = WSTagsField()
tagsField.frame = tagsView.bounds
tagsView.addSubview(tagsField)
tagsField.layer.cornerRadius = 3.0
tagsField.font = .systemFont(ofSize: 14.0)
tagsField.placeholder = "Добавить тэг ..."
tagsField.returnKeyType = .next
tagsField.delimiter = " "
tagsField.onDidChangeHeightTo = { tagField, height in
print("HeightTo \(height)")
tagsField.layoutSubviews()
tableView.beginUpdates()
tableView.endUpdates()
}
}
创建新字符串时会调用一个方法 - > onDidChangeHeightTo。这里传递了一个新的高度。
答案 0 :(得分:0)
在视图中添加此行并加载并检查您的约束必须准确... Android SDK location:
C:\Users\JDoe\AppData\Local\Android\Sdk
JDK location:
C:\Program Files\Android\Android Studio\jre
所以你的viewDidLoad看起来像。
tableView.rowHeight = UITableViewAutomaticDimension