如何从 xib 文件加载视图控制器?
Posted
技术标签:
【中文标题】如何从 xib 文件加载视图控制器?【英文标题】:How do i load a viewcontroller from a xib file? 【发布时间】:2016-04-14 06:47:09 【问题描述】:我尝试使用委托从自定义单元格加载视图控制器。但我从设置委托中得到零! 如果有人可以提供帮助,这是一个示例! 1. 在单元格中
protocol hotelFindDelegate
func modalDidFinished(modalText: String)
class hotelFindCell: UITableViewCell
var delegate:hotelFindDelegate?
@IBAction func findButton(sender: AnyObject)
self.delegate!.modalDidFinished("HELLO")
print("Damn nothing works")
2。在主视图中
class MainViewController:hotelFindDelegate
let modalView = hotelFindCell()
override func viewDidLoad()
super.viewDidLoad()
self.modalView?.delegate = self
func modalDidFinished(modalText: String)
let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("HotelListVC") as UIViewController
self.presentViewController(viewController, animated: false, completion: nil)
self.modalView.delegate = self
print(modalText)
【问题讨论】:
你想从 XIB 加载 VC..?您给定的代码与您的问题不匹配。 是的!我正在尝试使用代表。不要介意代码。 如果你使用委托或做其他事情没关系,但你的代码至少应该符合你的要求。首先,您决定要从 XIB 或情节提要加载视图控制器..? 从xib加载viewcontroller 【参考方案1】:要从 XIB 加载视图控制器,请执行以下步骤。
let settingVC : SettingsViewController = SettingsViewController(nibName :"SettingsViewController",bundle : nil)
稍后您可以推送相同的视图控制器对象,例如
self.navigationController?.pushViewController(settingsVC, animated: true)
【讨论】:
【参考方案2】:NSBundle.mainBundle().loadNibNamed("viewController", owner: self, options: nil)
【讨论】:
以上是关于如何从 xib 文件加载视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章