ios - 如何使用自动布局在对象之间创建间隙
问题描述
我的代码具有 UITextField 和 UITableView。我希望我的代码使用 AutoLayout 在文本字段和表格视图之间创建一个小间隙。现在,如果代码的位置在 iPhone 模式下运行良好,但如果它在 iPad 中,则文本字段将打印在 tableview 上。您可以在下面的照片中看到我正在处理的内容:
hitsLabel.topAnchor.constraint(equalTo: view.centerYAnchor, constant: -250)
hitsLabel.trailingAnchor.constraint(equalTo: view.centerXAnchor, constant: 150)
hitsLabel.widthAnchor.constraint(equalToConstant: 120)
hitsLabel.heightAnchor.constraint(equalToConstant: 40)
theScores.topAnchor.constraint(equalTo: view.topAnchor, constant: 300)
theScores.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0)
theScores.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0)
theScores.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0)
解决方案
我会建议这样的事情:
hitsLabel.topAnchor.constraint(equalTo: view.topAnchor, constant : 100),
hitsLabel.trailingAnchor.constraint(equalTo: view.centerXAnchor, constant :150),
hitsLabel.widthAnchor.constraint(equalToConstant: 120),
hitsLabel.heightAnchor.constraint(equalToConstant: 40),
theScores.topAnchor.constraint(equalTo: hitsLabel.bottomAnchor, constant: 100),
theScores.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0),
theScores.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0),
theScores.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0),
这会将文本字段放置在距视图顶部 100 像素的位置,然后 tableView 的顶部将距文本字段底部 100 像素。
我建议也为文本字段的左侧添加约束
推荐阅读
- php - 为什么要使用 rtrim()?
- c# - 反序列化对象列表而不使用总体对象
- android - 使用 FirebaseRecyclerPagination 创建聊天应用
- sql-server - 如何保存 SQL Server 查询名称
- javascript - 使用 FirebaseUI 身份验证组件时如何让 reCAPTCHA 工作?
- python-3.x - 使用 Pandas 实现同比增长 - 向后遍历 N 行
- javascript - 我的 Wordpress 网站可以并排显示两个脚本吗
- c# - Automapper 自定义目标属性设置器
- codeigniter - 未找到您请求的页面 - 使用 csrf 保护 CI 重新提交表单
- android - 在 BottomsheetFragment 内的 Fragment 内的 Recyclerview 不滚动?