How can I add a top margin to my tableview in Xcode?
19,743
I am not sure if I understand your question, if you are trying to have a margin between your table and the view try this:
Swift 3
self.tableView.contentInset = UIEdgeInsets(top: 20,left: 0,bottom: 0,right: 0)
Swift 2
self.tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0);
Related videos on Youtube
Author by
Larry Navarro
Updated on June 06, 2022Comments
-
Larry Navarro almost 2 years
I'm trying to add an image on the very top of the first cell of a table view. How can i make the table view have a top margin? Right now, the image is just overlapping the tableview. I am trying to just get the table view to come down a little bit. I do not want to make it smaller or something like that. I just want to add a button to the top of the tableview.
// // 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() } } } } }
-
Icaro almost 9 yearsThis is a UIViewController you should be inheriting from UITableViewController instead, try to change it in your class declaration
-
Larry Navarro almost 9 yearsI keep on getting breakpoint errors. Then it refers me to my app delegate where it says I have a sigabrt error, but i have not even touched my storyboard.
-
-
Larry Navarro almost 9 yearsWhere do i put this? I'm a bit new to xcode. My viewController?
-
Icaro almost 9 yearsjust add in the viewDidLoad from your tableViewController class
-
Larry Navarro almost 9 yearsFor some odd reason it says "Cannot find member contentinset"
-
Icaro almost 9 yearsYou probably will need to post some of your code, otherwise is hard to tell what is wrong
-
David West about 8 yearsPretty old one to revisit, so assuming you found a solution but looks like you didn't capitalise the 'Inset' part of "tableview.contentInset"