- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的自定义导航栏中有一个菜单表格 View 。如果我单击一个单元格,它应该将我带到另一个 View Controller 。但是当我点击它时我的应用程序崩溃了。
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return menu_items.count //It has 5 values
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: UITableViewCellStyle.value1, reuseIdentifier: "cell")
cell.textLabel?.text = menu_items[indexPath.row]
cell.textLabel?.textColor = .white
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let item = menu_items[indexPath.row]
if (item == "Patienten") {
tableView.removeFromSuperview()
let vc = self.storyboard?.instantiateViewController(withIdentifier: "patientView") as! patientViewVC //App crashes here
self.present(vc, animated: false, completion: nil)
} else if (item == "Mitarbeiter") {
} else if (item == "Kalender") {
} else if (item == "Tourenplanung") {
tableView.removeFromSuperview()
let vc = storyboard?.instantiateViewController(withIdentifier: "tour") as! tourVC //App crashes here
self.present(vc, animated: false, completion: nil)
}else if (item == "Abmelden") {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "loginvc") as! LoginVC //App crashes here
self.present(vc, animated: false, completion: nil)
}
let selectedCell:UITableViewCell = tableView.cellForRow(at: indexPath)!
selectedCell.contentView.backgroundColor = colorLightGreen
}
}
我已经多次验证所有标识符名称和 View Controller 名称是否正确。
最佳答案
确保在实例化 viewController 之前加载正确的 Storyboard。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let item = menu_items[indexPath.row]
if (item == "Patienten") {
tableView.removeFromSuperview()
let storyBoard = UIStoryboard(name: "StoryboardName", bundle: nil)
let vc = storyBoard.instantiateViewController(withIdentifier: "patientView") as! patientViewVC
self.present(vc, animated: false, completion: nil)
} else if (item == "Mitarbeiter") {
} else if (item == "Kalender") {
} else if (item == "Tourenplanung") {
tableView.removeFromSuperview()
let storyBoard = UIStoryboard(name: "StoryboardName", bundle: nil)
let vc = storyBoard.instantiateViewController(withIdentifier: "tour") as! tourVC //App crashes here
self.present(vc, animated: false, completion: nil)
}else if (item == "Abmelden") {
let storyBoard = UIStoryboard(name: "StoryboardName", bundle: nil)
let vc = storyBoard.instantiateViewController(withIdentifier: "loginvc") as! LoginVC //App crashes here
self.present(vc, animated: false, completion: nil)
}
let selectedCell:UITableViewCell = tableView.cellForRow(at: indexPath)!
selectedCell.contentView.backgroundColor = colorLightGreen
}
上面的StoryboardName是包含病人ViewVC、tourVC、LoginVC的 Storyboard的名称
关于ios - Storyboard?.instantiateViewController(withIdentifier : "") as! viewcontroller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46295943/
为什么我不能使用类似的方法创建 View Controller 对象resultVC = ResultViewController() 而不是下面的方式。 let storyboard
我有这段代码,但是我没有在第二个 View Controller 中接收数据...我在这里做错了什么? let storyboard = UIStoryboard(name: "Pos
我是ios开发新手,所以请原谅我的无知。我注意到,当我使用 UICollectionViewCell 时,我可以调用 dequeueReusableCell 来实例化或调用现有单元格。我想知道 Vie
我有一个经典的主从逻辑,并尝试在点击事件中使用 InstantiateViewController 创建细节 UIViewController 的实例。 这是我的代码, MasterViewContr
我的自定义导航栏中有一个菜单表格 View 。如果我单击一个单元格,它应该将我带到另一个 View Controller 。但是当我点击它时我的应用程序崩溃了。 func tableView(_ ta
我正在尝试做的事情: 我正在尝试按下导航栏右上角的 + 按钮,将应用推送到新 View (使用 navigationController.pushViewController),从新 View 获取一
swift 3.0 根据我在这里的发现,UIStoryboard 总是在函数 instantiateViewController(withIdentifier:) 中返回非可选实例。 open cla
segue 和 instantiateViewController 有什么区别? 我一直在尝试弄清楚如何使用 segues 将图像从一个 View Controller 发送到另一个 View Con
我正在使用 storyboard.instantiateViewController 来启动 TableViewController,但是当我尝试向下转换它时,出现错误: Could not cast
基本上我有五个 View Controller ,第一个是初始 View Controller 有两个文本字段,用户可以在其中输入值。之后,根据用户从两个选择器 View 中的选择,他/她将在点击“下
我已经创建了第二个带有 Storyboard的 View Controller 。我已经指定了一个 StoryBoard ID。我为这个 Controller 创建了一个类,并在 Storyboard
为什么我们需要在使用 UIStoryboard 的 instantiateViewController(withIdentifier:) 方法实例化 View Controller 之后使用关键字进行
我正在尝试为我的项目中的导航获取更多的通用解决方案,并且我一直想知道 segues 与手动实例化的 VC。 我在 atm 中的做法是,我在 Storyboard 中拥有从一个 View 到另一组 Vi
我希望有人能帮助我解决我遇到的这个问题。 我正在尝试将UIViewController数组添加到UIPageViewController。但是,每当我尝试通过方法 instantiateViewCon
我试图理解两个 View Controller 之间的通信。 在没有 segue 的情况下传递数据时,我看到了两种创建目标 Controller 实例的方法。 第一个是storyboard?.inst
从sb.instantiateViewController(withIdentifier:)创建一个vc10,不能使用它的属性甚至将它的类型转换为ViewController10 。 下面是我的代码:
当从代码启动 UIViewController 时,它需要运行的数据作为参数传递到 init 方法中并保存在非可选属性中,因此当 ViewDidLoad() 是您可以对数据和 View 执行任何您需要
我使用的是我的物理设备,而不是模拟器。 我正在使用 storyboard.instantiateViewController(withIdentifier:) 实例化一个 vc 并以模态方式呈现它。我
我正在处理 Xamarin IOS/monotouch 项目。一段时间以来我一直被这个错误所困。这些是代码行 var prfc = this.Storyboard.InstantiateViewCon
我收到这个错误 - InstantiateViewController(identifier:creator:)' is only available in iOS 13.0 or newer 为了解
我是一名优秀的程序员,十分优秀!