PFQueryTableView Пользовательский разделитель ячеек не отображается

В моем 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
    }
}

3 ответа

Решение

У меня такая же проблема. Пока не выяснил, чем это вызвано, но вот взлом, который я сделал, который тоже может вам помочь. В 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)

Это добавит слой размером 1 пиксель, который выглядит как разделитель. Вы можете играть с цветом, шириной.

Переопределить objectsDidLoad: метод с этим и пользовательский интерфейс должен вернуться к нормальной жизни:

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

Так что это довольно старый, но когда я удалил self.loadObjects() от моего viewWillAppear метод разделитель таблиц вернулся. Не уверен, что это ошибка разбора или нет, но я подумал, что просто укажу на это.

Другие вопросы по тегам