Tag: 情节提要

使用自动布局和情节提要自动调整大小的单元格

介绍 作为iOS开发人员,我习惯于使用layoutSubviews手动编写UI布局。 但是,我花了很多时间在代码中调整自定义表格视图单元的大小,并且不得不手动计算每个标签,图像视图,文本字段以及单元中其他所有元素的高度。 因此,我想找到一个更优雅,更简洁的解决方案。 进行调查后,我将注意力转向了两个老朋友-自动版式和情节提要。 实作 在本文中,我将构建一个非常简单的消息传递应用程序,它的功能仅仅是响应用户发送的内容。 请注意,我将跳过一些无关紧要的步骤,例如,创建视图控制器或自定义表格视图单元格类。 让我们开始使用我们的UI组件。 将表视图,文本字段和发送按钮拖放到情节提要中,然后将它们与视图控制器挂钩。 final class MessagingViewController: UIViewController { @IBOutlet weak var tableView: UITableView! @IBOutlet weak var textField: UITextField! @IBOutlet weak var sendButton: UIButton! // … } 此外,使用情节提要的“ Pin menu设置以下约束: 将表视图的顶部边缘固定在其父视图的顶部边缘0个点处。 将表视图的前缘和后缘固定到其父视图的前缘和后缘0个点。 将文本框底部的边缘固定在距文本字段顶部8个点的位置。 将文本字段的前沿固定在其父视图的前沿距8个点的位置。 将文本字段的尾端固定在距离发送按钮的开头8个点的位置。 将文本字段的底部边缘固定在其超级视图的底部边缘8个点处。 对齐文本字段的顶部和底部边缘以及发送按钮。 完成约束后,移至文本字段的大小检查器,并将“ Horizontal Content Hugging Priority设置为249。设置此优先级应有助于扩展文本字段并修复警告。 其次,将图像视图和标签拖放到表格视图单元格中,并将其与自定义表格视图单元格挂钩。 final class MessagingCell: UITableViewCell { @IBOutlet […]