![](/img/trans.png)
[英]iOS: UIViewController doesn't display another UIViewController using storyboards
[英]Using Swift, how to create a UIViewController over another one using StoryBoards
我有一个现在按住按钮的viewcontroller,我想创建一个新的viewcontroller并在当前视图上添加他的视图
到目前为止,我做到了:
class ViewController : UIViewController
{
var myController: MyController = MyController.controller()
init(coder aDecoder: NSCoder!)
{
super.init(coder: aDecoder)
}
init(nibName nibNameOrNil: String!, bundle nibBundleOrNil: NSBundle!)
{
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
override func viewDidLoad()
{
super.viewDidLoad()
self.view.addSubview(self.myController.view)
}
@IBAction func buttonPressed(sender : AnyObject)
{
}
}
在MyController中,我做了一个单例(我希望我做对了)
class MyController : UIViewController
{
init(coder aDecoder: NSCoder!)
{
super.init(coder: aDecoder)
}
init(nibName nibNameOrNil: String!, bundle nibBundleOrNil: NSBundle!)
{
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
class func controller() -> MyController
{
var once : dispatch_once_t = 0
var sharedInstance: MyController?
dispatch_once(&once, { sharedInstance = MyController()})
return sharedInstance!
}
}
我的行为就是这样,如果我不打电话给
self.view.addSubview(self.myController.view)
一切正常,如果我这样做了,那么中心的按钮不再能够识别触摸,就好像它有东西挡住了触摸,这是怎么回事? 我想念的是什么?
在MyController中,我做了一个单例(我希望我做对了)
你做错了。 这里不需要单例。 如果您使用情节提要,则以下行
var myController: MyController = MyController.controller()
可能
var myController: MyController = self.storyboard.instantiateViewControllerWithIdentifier("MyViewController")
然后在添加子视图之前,设置self.myController.view
的框架
self.myController.view.frame = CGRectMake(0, 0, 320, 200); // or what ever frame you want
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.