Как я могу добавить верхнее поле к моему табличному представлению в Xcode?

Я пытаюсь добавить изображение в самую верхнюю часть первой ячейки табличного представления. Как я могу сделать так, чтобы табличное представление имело верхнее поле? Прямо сейчас изображение просто перекрывает табличное представление. Я пытаюсь немного уменьшить представление таблицы. Я не хочу делать его меньше или что-то в этом роде. Я просто хочу добавить кнопку в верхнюю часть таблицы.

//
//  usersVC.swift
//  CaastRun
//
//  Created by Computer on 5/23/15.
//  Copyright (c) 2015 Caast. All rights reserved.
//

import UIKit

class usersVC: UIViewController, UITableViewDataSource, UITableViewDelegate {



    @IBOutlet weak var resultsTable: UITableView!

    var resultsNameArray = [String]()
    var resultsUserNameArray = [String]()
    var resultsImageFiles = [PFFile]()

    override func viewDidLoad() {
        super.viewDidLoad()
        let theWidth = view.frame.size.width
        let theHeight = view.frame.size.height
        resultsTable.frame = CGRectMake(0, 0, theWidth, theHeight)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    override func viewDidAppear(animated: Bool) {


        resultsNameArray.removeAll(keepCapacity: false)
        resultsUserNameArray.removeAll(keepCapacity: false)
        resultsImageFiles.removeAll(keepCapacity: false)

        var query = PFUser.query()

        query!.whereKey("username", notEqualTo: PFUser.currentUser()!.username!)

        query!.findObjectsInBackgroundWithBlock {
            (objects:[AnyObject]?, error:NSError?) -> Void in

            if error == nil {

                for object in objects! {

                    self.resultsNameArray.append(object.objectForKey("profileName") as! String)
                    self.resultsImageFiles.append(object.objectForKey("photo") as! PFFile)
                    self.resultsUserNameArray.append(object.objectForKey("username") as! String)

                    self.resultsTable.reloadData()


                }

            }

        }

    }


    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        return resultsNameArray.count

    }

    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {

        return 64

    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

        var cell:usersCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! usersCell

        cell.profileLbl.text = self.resultsNameArray[indexPath.row]
        cell.usernameLbl.text = self.resultsUserNameArray[indexPath.row]

        var query = PFQuery(className: "follow")

        query.whereKey("user", equalTo: PFUser.currentUser()!.username!)
        query.whereKey("userToFollow", equalTo: cell.usernameLbl.text!)

        query.countObjectsInBackgroundWithBlock {
            (count:Int32, error:NSError?) -> Void in

            if error == nil {

                if count == 0 {

                    cell.followBtn.setTitle("Follow", forState: UIControlState.Normal)

                } else {

                    cell.followBtn.setTitle("Following", forState: UIControlState.Normal)
                }

            }

        }


        self.resultsImageFiles[indexPath.row].getDataInBackgroundWithBlock {
            (imageData:NSData?, error:NSError?) -> Void in

            if error == nil {

                let image = UIImage(data: imageData!)
                cell.imgView.image = image

            }

        }

        return cell

    }

    @IBOutlet weak var searchText: UITextField!


    @IBAction func searchButton(sender: AnyObject) {
        resultsNameArray.removeAll(keepCapacity: false)

        resultsUserNameArray.removeAll(keepCapacity: false)

        resultsImageFiles.removeAll(keepCapacity: false)

        var query = PFUser.query()

        query!.whereKey("username", notEqualTo: PFUser.currentUser()!.username!)

        query!.whereKey("profileName", containsString: self.searchText.text)

        query!.findObjectsInBackgroundWithBlock {

            (objects:[AnyObject]?, error:NSError?) -> Void in

            if error == nil {

                for object in objects! {

                    self.resultsNameArray.append(object.objectForKey("profileName") as! String)

                    self.resultsImageFiles.append(object.objectForKey("photo") as! PFFile)

                    self.resultsUserNameArray.append(object.objectForKey("username") as! String)

                    self.resultsTable.reloadData()

                }



            }

        }
    }


}

person Larry Navarro    schedule 06.06.2015    source источник
comment
Это UIViewController, который вы должны вместо этого наследовать от UITableViewController, попробуйте изменить его в объявлении вашего класса.   -  person Icaro    schedule 06.06.2015
comment
Я продолжаю получать ошибки точки останова. Затем он отсылает меня к моему делегату приложения, где говорится, что у меня есть ошибка sigabrt, но я даже не коснулся своей раскадровки.   -  person Larry Navarro    schedule 07.06.2015


Ответы (1)


Я не уверен, понимаю ли я ваш вопрос, если вы пытаетесь установить границу между таблицей и представлением, попробуйте следующее:

Свифт 3

self.tableView.contentInset = UIEdgeInsets(top: 20,left: 0,bottom: 0,right: 0)

Свифт 2

self.tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0);
person Icaro    schedule 06.06.2015
comment
Куда мне это положить? Я немного новичок в xcode. Мой контроллер просмотра? - person Larry Navarro; 06.06.2015
comment
просто добавьте в viewDidLoad из вашего класса tableViewController - person Icaro; 06.06.2015
comment
По какой-то странной причине он говорит, что не может найти элемент contentinset - person Larry Navarro; 06.06.2015
comment
Вам, вероятно, нужно будет опубликовать часть своего кода, иначе трудно сказать, что не так. - person Icaro; 06.06.2015
comment
Довольно старый, чтобы вернуться к нему, поэтому предположим, что вы нашли решение, но похоже, что вы не использовали часть «Inset» tableview.contentInset с большой буквы. - person David West; 31.03.2016