swift - 单击分段时如何将文本字段扩展到全宽?
问题描述
我需要将第一段的文本字段“出发日期”扩展到全宽并隐藏附近的文本字段“返回”。
我尝试在这里如何在 Swift 中制作全宽 UITextField但文本字段宽度没有改变。
startDate.frame.size.width = UIScreen.main.bounds.width
文本字段的自动布局
文本字段行为的屏幕
解决方案
首先,我认为文本字段存在不需要的约束:
- “尾随空格:结束日期”重复。
- 如果您为前导和尾随设置约束,则无需为宽度“等于:结束日期”添加另一个约束。
- 与上述相同的逻辑,由于您已经添加了固定高度约束,因此无需添加“Equal Height to: End Date”。
因此,在修复(删除额外的约束)之后,您应该在视图控制器中为前导和尾随约束添加 IBOutlets,然后您可以将它们的constant
值编辑为 0.0。
class ViewController: UIViewController {
//...
@IBOutlet weak var dateTextFieldLeading: NSLayoutConstraint!
@IBOutlet weak var dateTextFieldTrailing: NSLayoutConstraint!
// call this method when needed
func expandDateTextFieldWidth() {
dateTextFieldLeading.constant = 0.0
dateTextFieldTrailing.constant = 0.0
}
//...
}
推荐阅读
- python - 从 python 类返回字典
- python - 使用 AWS Lambda 启动 Emr
- mysql - Kafka 与 mysql 连接以获取 CDC:错误 Aborting snapshot due to error when last running 'UNLOCK TABLES'
- java - 如何为 Vert.x 编写端点的 Post、Get、Put、Delete 方法 Web 客户端单元测试
- javascript - 如何以html的形式在日期选择器和按钮之间添加空格
- sql - 查询选择特定范围内订单总数的所有客户
- r - 为什么 compareDF 不呈现 html 输出?
- sql - 根据不同的条件选择 Oracle Query 的计数
- javascript - 如何从 Electron 上的静态页面接收 WebContent 事件
- php - 为 mysql/php 中的临时表获取持久数据库连接