【问题标题】:How to grap UITableHeaderView which was added via storyboard?如何绘制通过情节提要添加的 TableHeaderView?
【发布时间】:2013-10-26 15:22:06
【问题描述】:

我通过 Storyboard 添加了 UITableHeaderView - 只需将视图拖放到 UITableView 顶部并将 @property 添加到 class.h (Xcode 5) 。我想使用该表头来获取进度信息。因此我使用

       self.tableView.tableHeaderView = nil;

在没有进展时隐藏标题。

当我要显示tableHeaderView时:

       self.tableView.tableHeaderView = self.myHeaderView;
       [self.tableView reloadData]

但不幸的是 headerView 不会出现。 我做错了什么?

感谢您的帮助。

更新:

我找到了解决问题的方法。 我为该视图创建了一个 *.nib 文件并在我的类中添加了一个函数

      - (void)showView{ ... }

我比初始化我的观点

     UIView *view[[MyView alloc] initWithFrame:CGRectMake(0,0,CGRectGetWidth(self.view.frame), 50.0)];

并设置我的 tableHeaderView

      self.tableView.tableHeaderView = view;

工作很好。 :)

【问题讨论】:

    标签: ios objective-c uitableview storyboard


    【解决方案1】:

    我发现将 tableHeaderView Height 设置为 0 可以让我获得同样的功能。

    CGRect newFrame = self.tableView.tableHeaderView.frame;
    yourSavedHeight = newFrame.size.height;
    newFrame.size.height = 0;
    self.tableView.tableHeaderView.frame = newFrame;
    

    然后当你想要它回来时

    CGRect newFrame = self.tableView.tableHeaderView.frame;
    yourSavedHeight = newFrame.size.height;
    newFrame.size.height = yourSavedHeight;
    self.tableView.tableHeaderView.frame = newFrame;
    

    或者您可以将上述两种方法组合成一个带有 BOOL 参数的方法,以缩小或扩大它。

    【讨论】:

    • 感谢您的回答。我为这个问题找到了另一种解决方案。请参阅上面我更新的帖子。
    猜你喜欢
    • 1970-01-01
    • 2014-02-07
    • 2015-03-24
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2012-01-12
    • 2012-08-19
    • 1970-01-01
    相关资源
    最近更新 更多