晚安!
我有一个关于Xcode(Swift)和TabelView布局的具体问题。
我的应用程序到目前为止1在此Container中的容器内查看是一个嵌入的UITableViewController,它显示了一个很好的静态表视图。
我的错误是我在用户点击其中一个表格视图单元格时如何注册?
方法:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//CODE TO BE RUN ON CELL TOUCH
}
对我不起作用 - 不调用该方法,此方法内的警报未显示。
也许是一个错误的文件结构?在我的主要故事板中,我将Swift文件与UITableViewController连接,后者位于主视图控制器的容器内。文件代码是基本的:
import UIKit
class test: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
如何在用户点击TableViewCell时注册?例如显示警报?
请帮帮我,我是iOS开发的新手。
谢谢!
以下是我项目结构的两张图片:
答案 0 :(得分:0)
正常运行的表视图需要三个表视图数据源方法。确保添加它们。
func numberOfSectionsInTableView(tableView: UITableView) -> return Int number of section
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) ->return Int number of rows in section
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> return UITableViewCell that populate the cell data
希望有所帮助!!
答案 1 :(得分:0)
一个非常愚蠢的错误......代码绝对正确 - 问题发生在main.swift文件中,即容器中的文件。
在容器上方,我添加了一个searchBar,并使用以下代码通过在搜索栏外单击来隐藏键盘:https://stackoverflow.com/a/27079103/3849220
此代码在整个View中崩溃了我的触摸事件 - 也在容器“上方”...在tableView函数之前调用了dismissKeyboard()。
@ Paulw11 非常感谢您的示例项目!它帮助我真正理解逻辑并搜索错误。谢谢!
我替换了代码并编写了一个自己的脚本,通过单击“完成”按钮来隐藏键盘。现在它有效!
谢谢!