我正在开发一个Swift + SpriteKit游戏,我希望在一个小的(100 x 200)UIView中插入一个小的UITableViewController,然后将该视图添加到我的SKScene中。我正在使用此代码:
class BugsScene: SKScene {
override func didMoveToView(view: SKView) {
anchorPoint = CGPoint(x: 0.5, y: 0.5)
NSUserDefaults.standardUserDefaults().setObject("bugs", forKey: "lastSceneViewed")
let bugsTableView: BugsTVC = BugsTVC()
let nav = UINavigationController(rootViewController: bugsTableView)
let smallerRect = CGRectMake(0, 0, 100, 200)
let smallerView = UIView(frame: smallerRect)
smallerView.addSubview(nav.view)
self.view.addSubview(smallerView)
}
}
但是,在横向模式下(我的应用程序仅支持横向左侧和右侧横向,无纵向),tableview占据横向模式的整个高度,并且纵向具有iPad的宽度。
如何在swift / spritekit中为较大的场景添加一个小的UIView?
答案 0 :(得分:1)
LearnCocos2D绝对值得称赞,所以如果他发布了答案,我会接受它。基本上,我没有为导航控制器的视图设置框架。这是我将较小的视图添加到场景的方法:
override func didMoveToView(view: SKView) {
anchorPoint = CGPoint(x: 0.5, y: 0.5)
self.name = "Bugs Scene"
backgroundColor = bugsColor
let smallerRect = CGRectMake(400, 24, 600, 720)
let navRect = CGRectMake(0, 0, 600, 720)
let bugsTableView: BugsTVC = BugsTVC()
nav = UINavigationController(rootViewController: bugsTableView)
nav.view.frame = navRect
smallerView = UIView(frame: smallerRect)
smallerView.backgroundColor = UIColor.clearColor()
bugsTableView.view.frame = smallerRect
smallerView.frame = smallerRect
smallerView.addSubview(nav.view)
self.view.addSubview(smallerView)
}
它可能会有所改进,但这对我有用。现在,如果我只能在转换到另一个场景时弄清楚如何移除视图!