PFQueryTableView 自定义单元格分隔符不显示
PFQueryTableView Custom cell Separator not showing
在我的 PFQueryTableViewController
中,自定义 PFTableViewCell's
没有任何分隔符,我不知道为什么。
谷歌搜索时我没有找到任何东西。
我做错了什么?
class CategoryTableViewController: PFQueryTableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.loadObjects()
}
// Initialise the PFQueryTable tableview
override init(style: UITableViewStyle, className: String?) {
super.init(style: style, className: className)
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
// Configure the PFQueryTableView
self.parseClassName = "Category"
self.pullToRefreshEnabled = true
self.paginationEnabled = false
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// Mark - PFQueryTableViewController
override func queryForTable() -> PFQuery {
var query = PFQuery(className: self.parseClassName!)
return query
}
// Mark: UITableViewDataSource
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject!) -> (PFTableViewCell!) {
var cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! PFTableViewCell
cell.accessoryType = UITableViewCellAccessoryType.Checkmark
cell.textLabel?.text = object["name"] as? String
return cell
}
}
我遇到了同样的问题。还没有找出是什么原因造成的,但这是我做的一个 hack,它也可能对你有帮助。在 cellForRowAtIndexPath 中添加:
var separator = CALayer()
separator.backgroundColor = UIColor.lightGrayColor().colorWithAlphaComponent(0.2).CGColor
separator.frame = CGRectMake(0, 100, self.view.frame.size.width, 1);
cell.layer.addSublayer(separator)
这将添加一个 1px 的图层,看起来像一个分隔符。你可以玩它的颜色,宽度。
所以这已经很老了,但是当我从 viewWillAppear
方法中删除 self.loadObjects()
时,表格视图分隔符又回来了。不确定这是否是一个解析错误,但我想我会指出这一点。
用这个覆盖 objectsDidLoad:
方法,UI 应该恢复正常:
- (void)objectsDidLoad:(NSError *)error {
[super objectsDidLoad:error];
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
}
在我的 PFQueryTableViewController
中,自定义 PFTableViewCell's
没有任何分隔符,我不知道为什么。
谷歌搜索时我没有找到任何东西。
我做错了什么?
class CategoryTableViewController: PFQueryTableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.loadObjects()
}
// Initialise the PFQueryTable tableview
override init(style: UITableViewStyle, className: String?) {
super.init(style: style, className: className)
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
// Configure the PFQueryTableView
self.parseClassName = "Category"
self.pullToRefreshEnabled = true
self.paginationEnabled = false
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// Mark - PFQueryTableViewController
override func queryForTable() -> PFQuery {
var query = PFQuery(className: self.parseClassName!)
return query
}
// Mark: UITableViewDataSource
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject!) -> (PFTableViewCell!) {
var cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! PFTableViewCell
cell.accessoryType = UITableViewCellAccessoryType.Checkmark
cell.textLabel?.text = object["name"] as? String
return cell
}
}
我遇到了同样的问题。还没有找出是什么原因造成的,但这是我做的一个 hack,它也可能对你有帮助。在 cellForRowAtIndexPath 中添加:
var separator = CALayer()
separator.backgroundColor = UIColor.lightGrayColor().colorWithAlphaComponent(0.2).CGColor
separator.frame = CGRectMake(0, 100, self.view.frame.size.width, 1);
cell.layer.addSublayer(separator)
这将添加一个 1px 的图层,看起来像一个分隔符。你可以玩它的颜色,宽度。
所以这已经很老了,但是当我从 viewWillAppear
方法中删除 self.loadObjects()
时,表格视图分隔符又回来了。不确定这是否是一个解析错误,但我想我会指出这一点。
用这个覆盖 objectsDidLoad:
方法,UI 应该恢复正常:
- (void)objectsDidLoad:(NSError *)error {
[super objectsDidLoad:error];
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
}