OStack程序员社区-中国程序员成长平台

标题: ios - iPhone 和 iPad 在同一个 Storyboard 中的不同布局 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 00:05
标题: ios - iPhone 和 iPad 在同一个 Storyboard 中的不同布局

Xcode 6 支持“通用” Storyboard。这非常方便。这意味着如果 iPhone 和 iPad 的布局相同,我们只需要一个用于 iPhone 和 iPad 的 Storyboard。但是这里有一个问题:

如果 iPhone 和 iPad 的大部分布局都是一样的,只有一两个 UIViewController 有一些差异怎么办?我们如何在 iPhone 和 iPad 的同一个 Storyboard中添加不同的 UIViewController?



Best Answer-推荐答案


这是我所做的:

  1. 为 Storyboard中容器 View (黄色部分)的高度添加约束

enter image description here

  1. 我的代码如果在 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4