Set UITableView content inset permanently

In my app I have a UISearchBar under UINavigationBar so it is always visible to user. In that case I had to set contentInset with extra 44px so the UIScrollView will be scrolling under UISearchBar (exactly like in Contacts.app). And there would be no problem with static UITableView's but in my case I have to reload it's contents, switch to UISearchDisplayControlleretc. So when I call:

[self.tableView setContentInset:UIEdgeInsetsMake(108, 0, 0, 0)];

Everything works until e.g. I pull to refresh... (for this I use SSPullToRefresh).

So my question is: How can I set contentInset permanently so I wouldn't have to worry about any changes happening to data inside UITableView?

Answers


Probably it was some sort of my mistake because of me messing with autolayouts and storyboard but I found an answer.

You have to take care of this little guy in View Controller's Attribute Inspector

It must be unchecked so the default contentInset wouldn't be set after any change. After that it is just adding one-liner to viewDidLoad:

[self.tableView setContentInset:UIEdgeInsetsMake(108, 0, 0, 0)]; // 108 is only example

Need Your Help

MediaFormatter or ModelBinder for web api PUT method

asp.net asp.net-mvc asp.net-web-api asp.net-web-api2 model-binding

I have a PUT method in web api which accepts a JSON data and a route data as follows.

socket timeout exception on ubuntu

ubuntu solr

We have solr router and shards. This appears in the jetty log of the router when doing faceted search across all the shards.

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.