我正在 Swift 2.0 和 iOS >= 8 中制作一款游戏,其中我有初始 VC 托管管理游戏本身的 SKScene。
当玩家获胜或失败时,我想显示如下消息:
我通过从界面生成器加载的另一个 VC 显示此消息,并使用从初始 VC 类调用的以下代码:
let VCWin = self.storyboard!.instantiateViewControllerWithIdentifier("WinVC") as! WinVC
VCWin.modalPresentationStyle = UIModalPresentationStyle.FormSheet
VCWin.modalTransitionStyle = UIModalTransitionStyle.CrossDissolve
self.presentViewController(VCWin, animated: true, completion: nil)
重要的是,WinVC 允许像 FormSheet 和 CrossDissolve 属性一样查看变暗后面的内容。
WinVC 还将托管一个呈现 SKScene 的 View ,该 View 执行一些 Sprite 动画。
我的问题是删除黄色圆角附近的白色部分,以便看到后面的内容(就像屏幕变暗的其余部分一样)。
是否可以将 VC 的框架设置为此处使用的图像的掩码?或者将 View 的框架设置为所使用图像的 mask 并使 VC 下面透明?
我已经从 WinVC 中删除了所有内容,以避免出现由代码其他部分引起的问题
class WinVC: UIViewController
{
override func viewDidLoad()
{
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool)
{
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?)
{
for _ in touches
{
self.dismissViewControllerAnimated(false, completion: nil)
}
}
override func viewDidDisappear(animated: Bool)
{
}
}
还有界面生成器中的设置:
VC 设置
查看设置
图像设置
最佳答案
您的框架很好 - 这可能是因为您的 UIViewController
包含一个具有白色背景的 View 对象。在 WinVC
类的 viewDidLoad
中,执行以下操作:
view.backgroundColor = UIcolor.clearColor()
关于ios - 定义 UIViewController 或 UIView 的自定义框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35295038/