`
dadi520
  • 浏览: 139994 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Resizing a UITableView’s tableHeaderView

    博客分类:
  • ios
 
阅读更多

原文链接: http://davidjhinson.wordpress.com/2009/03/24/resizing-a-uitableviews-tableheaderview/

 

Resizing a UITableView’s tableHeaderView

For many who use UITableView, unless you’re doing something like a Contacts application, the tableHeaderView (and related, tableFooterView) are rarely used.

What’s even more perplexing (at least when at first experienced), is that these elements are not repainted when a [UITableView reloadData] is issued; you have to manually issue field / image resets yourself.

Sometimes – like when handling a variable amount of data in the header, say for user status messages – you even have to adjust the size of the tableHeaderView in order to accomodate a growing / shrinking amount of real estate.

Here’s the trick:

CGRect headerFrame           = self.profile.tableHeaderView.frame;
headerFrame.size.height      = self.myStatus.frame.size.height + offset;
self.header.frame            = headerFrame;
self.profile.tableHeaderView = self.header;

First, grab the current header frame.  Then, adjust the size of the frame (in my example, I’m adjusting the height only).  Then, reset the tableHeaderView with the view again.

This is important – the size will not be adjusted until the tableHeaderView (or tableFooterView) variable is reset.

That’s it.

Hope this helps some of you struggling with this not-so-well documented problem

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics