Datepicker 不会显示在自定义 UITableViewCell 类中
Posted
技术标签:
【中文标题】Datepicker 不会显示在自定义 UITableViewCell 类中【英文标题】:Datepicker won't display in custom UITableViewCell class 【发布时间】:2018-01-07 05:38:59 【问题描述】:我尝试保留一个单独的自定义单元格类,但不知何故,我从情节提要拖入其中的日期选择器在我运行后拒绝显示。
import UIKit
class eventViewController: UIViewController,UITextViewDelegate,UIScrollViewDelegate,UITableViewDelegate,UITableViewDataSource
@IBOutlet weak var timeTableView: UITableView!
@IBOutlet weak var eventText: UITextView!
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view.
self.eventText.delegate = self
self.scrollView.delegate = self
self.timeTableView.delegate = self
self.timeTableView.dataSource = self
self.timeTableView.register(startDateCell.self, forCellReuseIdentifier: "startDateCell")
func numberOfSections(in tableView: UITableView) -> Int
return 1
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return 3
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: "startDateCell", for: indexPath) as! startDateCell
//cell.startDatePicker.date = Date()
//cell.text = "anything"
return cell
class startDateCell: UITableViewCell
@IBOutlet weak var startDatePicker: UIDatePicker!
我在自定义单元格中将插座连接到我的 datePicker,我还在检查器中将我的自定义单元格类定义为 startDateCell,我在我的视图控制器中注册了我的自定义单元格。它会抛出一个运行时错误,说 datepicker 是 nil。
谁能解释为什么它没有出现?
【问题讨论】:
【参考方案1】:您能否从 viewDidLoad() 中删除以下代码,并确保您已在 storyboard 中将自定义 tableviewcell 的重用标识符设置为“startDateCell”并重试?
self.timeTableView.register(startDateCell.self,
forCellReuseIdentifier: "startDateCell")
【讨论】:
我自己想通了,但我想知道为什么注册单元会导致错误?我应该在什么条件下使用它?免费积分,非常感谢你,如果你能解决这个问题。 注册单元会覆盖故事板中的设置。结果,链接到情节提要中的自定义单元格的日期选择器出口将被忽略。在此处参考类似的帖子:***.com/questions/24833391/…。并引用hackingwithswift.com/example-code/uikit/… 中的 Paul Hudson 的话,“如果您想将 register() 与 Swift 类一起使用,您需要提供一个表格视图单元格类作为其第一个参数。如果您的单元格完全在代码中定义,这将非常有用”。希望这会有所帮助:-)以上是关于Datepicker 不会显示在自定义 UITableViewCell 类中的主要内容,如果未能解决你的问题,请参考以下文章
搜索视图控制器推送 VC 时,活动指示器不会出现在自定义 UIAlertView 的中心
在自定义单元格中点击 UIButton 不会调用 didSelectRowAtIndexPath