Reputation: 1309
I'm having trouble with the contentInset
property. I have a UITableView
, with dynamic cell sizes (AutoLayout). I'm setting the contentInset
property to leave some space above the top of the content. But I'm getting the following result:
The content is in blue, the content inset in purple. When the table view first appears, it is in the left situation. I can scroll to get to the right situation, that is working, but I would like the table view to appears directly as in the right illustration — which I thought would be the default behavior.
How can I achieve that?
Upvotes: 7
Views: 13914
Reputation: 79
you can scroll programmatically when the view loads.
tableView.setContentOffset(CGPoint(x: 0, y: -70), animated: false)
Upvotes: 1
Reputation: 1309
Not sure if it's the best way but I fixed it by adding:
tableView.contentOffset.y = -70
after the line:
tableView.contentInset = UIEdgeInsets(top: 70, left: 0, bottom: 50, right: 0)
Upvotes: 10
Reputation: 3476
You provide an UIEdgeInset object,
UIEdgeInsets(top: 50, left: 0, bottom: 0, right: 0)
The top property shows the distance from top of content to top border of the area.
Upvotes: 0
Reputation: 402
This is how it can be fixed easily from the Storyboard:
Table View > Size Inspector > Content Insets: Never
Upvotes: 0