开发者

iPhone Dev: Get more data functionality in twitter iPhone clients?

开发者 https://www.devze.com 2022-12-08 10:10 出处:网络
I\'m building an app (not necessarily a twitter client) and I\'m trying to figure out how developers create the buttons above and below a table view where a user presses them to either reload 开发者_G

I'm building an app (not necessarily a twitter client) and I'm trying to figure out how developers create the buttons above and below a table view where a user presses them to either reload 开发者_Go百科newer data or reload older data into a table view. Does anyone know of any tutorials out there that does this or know of an easy way?


If you want fixed buttons, you can just make your table view not use the full screen and add the buttons in the space. If you want the buttons to scroll with the table view, you can add a header or footer view to the table and put your buttons inside that.


Check the Three20 project. I believe there's a tableview there that does that.

It's actually not that hard to add inline buttons to a tableview. First you check and see if there's actually more data to show. If so, you want to add 1 to the number of rows returned from the datasource. When asked to draw that last row you return a cell that contains "Press for more" caption as well as a hidden spinner instead of the standard cell that shows your normal data.

If the user presses that last button the table view handler turns on the spinner then fires off a network event. Once the network request completes the data is processed and added to the same tableview datasource that was used to draw the first table.

Now all you have to do is tell the tableview to reload itself and the new data will show up. If you want to limit the amount of data shown you can prune out N number of items from the head of the datasource before redrawing so the memory-use stays manageable.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号