I’m a newbie just starting out with making my first apps without following along in a book or tutorial. I’ve created a simple app which, on launch, shows a UITableView with a single section which has a text field in the header and no rows initially. When you enter some text in the text field, it makes a web API call (fetching some JSON data from Wikipedia), then populates the table rows with the results of the call. Usually, there are enough results that the bottom of the table is no longer visible on the screen. All is well, until I try to scroll the table. When that happens, no scroll bar appears on the right edge of the screen, and the table doesn’t move on a one-to-one scale with my finger movement. And when I release my finger, the table snaps back to the top so that the text field is again at the top of the screen – so basically it behaves the same way it behaves before there are any rows or few enough rows that they all fit on the screen. I am sending reloadData to the table view after the new data comes in – do I need to send it some other message to notify it that its size has changed or something?
EDIT: I’ve posted this same question over on MacRumors’ forums, along with my project files. Please give it a look and download the project files if you think it can help you help me.
Remove “use autolayout” from your WordsHeaderView nib file.
Click on the nib file, go in the “file inspector” and uncheck “use autolayout”.
You have some autolayout constraints in the header view that “locks” the table scroll