0

在我的PFQueryTableViewController中,自定义PFTableViewCell's没有任何分隔符,我不知道为什么。PFQueryTableView自定义单元格分隔符未显示

enter image description here

googeling的时候我没有发现任何东西。

我在做什么错?

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 
    } 
} 

回答

1

我有同样的问题。没有发现是什么导致它,但这是我做的一个黑客,它可能也会帮助你。在的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的层。你可以玩它的颜色,宽度。

+0

谢谢,它的工作原理。不得不改变我的牢房的高度“100”。但是你不知道为什么使用PFQueryTableViewController和PFTableViewCell时分隔符不显示? –

+0

不,如我所说,不幸的是,我无法找出他们未显示的原因。我很高兴我的小黑客也为你工作! –

2

所以这是相当古老的,但是当我从viewWillAppear方法中删除self.loadObjects()时,tableview分隔符又回来了。不知道这是否是一个解析错误,但我想我会指出。

6

重写objectsDidLoad:法这和UI应该回到正常:

- (void)objectsDidLoad:(NSError *)error { 
    [super objectsDidLoad:error]; 
    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine]; 
} 
+1

这是正确的答案:)非常感谢Andrei – user4478383

相关问题