好吧,我需要知道正确的方法 - 我使用storyboard和普通的VC类文件使用自定义单元格制作自定义表格视图,但是现在我需要使用链接到xib文件的ViewController类来完成它我失败了。
我遇到了几个不同的错误,但现在我已经离开了
由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'必须将自动调整掩码转换为约束以使_setHostsLayoutEngine:YES。'
这就是我所做的 - 我用xib文件创建了我的类,并将tableview拖入其中。我连接了tableview并在我的课程中添加了所有需要的功能。还设置委托和数据源 -
class EventsAddedToViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet var tableview: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
tableview.delegate = self
tableview.dataSource = self
tableview.registerNib(UINib(nibName: "EventsAddedCell", bundle: nil), forCellReuseIdentifier: "addedCell")
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return screenSize.height * (61/screenSize.height) //has to be same as bottom tab - 61
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Incomplete implementation, RETURN NUMBER OF SECTIONS
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, RETURN THE NUMBER OF ROWS
// if names.count < dates.count {
// return names.count
// } else {
// return dates.count
// }
return 100
}
//cell work IMPORTANT
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("addedCell", forIndexPath: indexPath) as! EventsAddedCell
cell.separatorInset = UIEdgeInsetsMake(0, 0, cell.frame.size.width, 0)
if (cell.respondsToSelector("preservesSuperviewLayoutMargins")){
cell.layoutMargins = UIEdgeInsetsZero
cell.preservesSuperviewLayoutMargins = false
}
return cell
}
func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return true
}
同样,这是用我的类创建的xib文件。
然后我需要在tableview中添加一个自定义单元格,所以我尝试将一个单元格拖到我的tableview中,但它不会让我。然后我查看How to load Custom cell (Xib) in UITableview using Swift并为单元格创建了一个单独的xib和类文件:
我给了它正确的重用标识符“addedCell”,我在整个VC文件中引用了它。
我收到SIGABRT错误。我在这里做错了什么?