在没有全屏的情况下在另一个上呈现视图控制器

时间:2016-08-17 18:22:54

标签: ios swift cocoa-touch

当用户点击MainViewController中的按钮时,我应该会显示AddViewControllerMainViewController

我试过用:

self.presentViewController(AddViewController(), animated: false, completion: nil)

但它在整个屏幕上显示(全屏)。

我在StackOverflow中搜索了一些答案,但我找到了适合iPad的解决方案。

那么如何以正确的方式呈现视图呢?

注意:我在AddViewController文件中设置了Xib的视图框架。

1 个答案:

答案 0 :(得分:1)

您可以使用AddSubview功能。检查此代码。

创建一个类文件:

class MyClass: UIView {
    class func instanceFromNib() -> UIView {
        return UINib(nibName: "nib file name", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as UIView
    }
}

然后你可以使用这个类从xib中获取视图:

var myview = MyClass.instanceFromNib()

然后您可以在任何地方添加此视图:

var presenterStoryBoard:UIStoryboard = UIStoryboard(name: "nameofstoryboard", bundle: nil)
var myview = MyClass.instanceFromNib()

var vc = presenterStoryBoard.instantiateInitialViewController() as MainViewController

publisherViewController.view.addSubview(myview.view)