Xcode 6 支持“通用” Storyboard。这非常方便。这意味着如果 iPhone 和 iPad 的布局相同,我们只需要一个用于 iPhone 和 iPad 的 Storyboard。但是这里有一个问题:
如果 iPhone 和 iPad 的大部分布局都是一样的,只有一两个 UIViewController 有一些差异怎么办?我们如何在 iPhone 和 iPad 的同一个 Storyboard中添加不同的 UIViewController?
Best Answer-推荐答案 strong>
这是我所做的:
- 为 Storyboard中容器 View (黄色部分)的高度添加约束
我的代码如果在 iPad 中添加到导航栏。并添加到容器 View 并将约束的常量设置为 0)
class ViewController: UIViewController {
var segmentControl : UISegmentedControl!
@IBOutlet weak var segContainer: UIView!
@IBOutlet weak var heightConstrains: NSLayoutConstraint!
override func viewDidLoad() {
super.viewDidLoad()
self.segmentControl = UISegmentedControl(items: ["ersonnal", "Department", "Company"]) as UISegmentedControl
if UIDevice.currentDevice().userInterfaceIdiom == .Pad {
self.navigationItem.titleView = self.segmentControl
self.heightConstrains.constant = 0
} else {
self.segContainer.addSubview(self.segmentControl)
}
}
我的情况很简单。所以在代码中实现并不难。但是非常复杂的情况呢?
关于ios - iPhone 和 iPad 在同一个 Storyboard 中的不同布局,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/24945429/
|