我希望在用户点击它时会创建通知按钮,以便为他显示viewcontroller或其他东西
我找到了这个图书馆
https://github.com/lucaslt89/PopupContainer
您可以从xib文件nib文件和仅UIView
实现的主要问题是否可以从主故事板中加载Controller?
这是代码
@IBAction func showFromXibButtonPressed(sender: AnyObject) {
let xibView = NSBundle.mainBundle().loadNibNamed("XibPopup", owner: nil, options: nil)[0] as! XibPopup
PopupContainer.generatePopupWithView(xibView).show()
}
答案 0 :(得分:2)
您可以通过传递可从故事板获取的viewcontroller视图来实现。
实施例
@IBAction func showFromXibButtonPressed(sender: AnyObject) {
let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("myViewController") as! UIViewController
PopupContainer.generatePopupWithView(vc.view).show()
}
请在故事板中指定一个合适的ViewController标识符,并使用正确的storybaord名称在代码中更新相同的
通过检查Hunter的格式
,根据问题要求更新了代码答案 1 :(得分:1)
假设您的故事板被命名为“Main”,并且您有一个初始视图控制器,这将从该控制器加载视图:
@IBAction func showFromXibButtonPressed(sender: AnyObject) {
let controller = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()
PopupContainer.generatePopupWithView(controller!.view).show()
}
注意,最佳做法是将IBAction的名称更改为showFromViewControllerButtonPressed,但上述名称将起作用。