无法使用自定义 segue 和 Storyboard 调整 UIViewController 的大小
Posted
技术标签:
【中文标题】无法使用自定义 segue 和 Storyboard 调整 UIViewController 的大小【英文标题】:Can't resize UIViewController using custom segue and Storyboard 【发布时间】:2014-11-01 19:37:15 【问题描述】:我有一个使用自定义 segue 的自定义 tabBar
应用程序,但 destinationViewController
的大小始终以 全屏 加载,而不是我定义的大小在属性检查器中。
我在 Simulated Metrics 中将 ViewController
的大小设置为 Freeform,在 Simulated Size 吃了 Size Inspector,我将宽度定义为 1024,高度定义为 693。我还取消了 NIB 中的 Resize View strong> 即使我没有使用 .xib 文件。
我已经在模拟器和真机上测试过这个项目,但都不起作用。
当我点击按钮时,它显示destinationViewController
,但隐藏了TabBar
,这当然不应该发生。
图片更好地展示了我所面临的情况:
【问题讨论】:
【参考方案1】:终于找到了解决办法。问题实际上出在我以这种方式使用的 perform() 函数上:
override func perform()
var src = self.sourceViewController as UIViewController
var dst = self.destinationViewController as UIViewController
src.presentViewController(dst, animated: false, completion: nil)
解决方法是我用这个更改了 presentViewController 行:
override func perform()
var src = self.sourceViewController as UIViewController
var dst = self.destinationViewController as UIViewController
src.view .addSubview(dst.view)
现在一切正常!!!
【讨论】:
以上是关于无法使用自定义 segue 和 Storyboard 调整 UIViewController 的大小的主要内容,如果未能解决你的问题,请参考以下文章