我有一个适用于iPhone和iPad的通用项目。在主故事板中有两个控件,一个是UITextField和一个UITableView。 UITextField保留屏幕的左1/3部分,UITableView保留屏幕的剩余部分。
在iPhone中,我隐藏了UITableView,我希望UITextView保留所有屏幕。然后,当用户点击按钮时,UITableView会出现在文本字段上(我会在用户选择一个选项时立即关闭UITableView。)
如何让tableView以其右边框的方式放大,转到屏幕的右边框?
答案 0 :(得分:1)
实现所描述的一种方法是从场景的“外部”开始,主视图的负前导空间。当用户按下按钮时,前导空间约束的值设置为零。
示例:
最终结果:
ViewController代码:
class ViewController: UIViewController {
@IBOutlet weak var tableViewLeadingMargin: NSLayoutConstraint!
@IBAction func revealTableView(sender: UIButton) {
UIView.animateWithDuration(
3.0,
animations: {
self.tableViewLeadingMargin.constant = 0
self.view.layoutIfNeeded()
}
)
}
}
只有一点需要注意:您需要根据iPhone屏幕尺寸以编程方式调整TableView的宽度。
iPhone问题上面的答案。对于iPad,我建议使用大小类,为它们创建特定的布局/约束:
举例说明: