菜鸟教程小白 发表于 2022-12-12 15:20:22

ios - 更改 HeaderInSection 的 UITableView 的高度?


                                            <p><p>我的 <code>UITableView</code> 的样式很普通,我想更改 HeaderInSection 的高度,但它仍然是默认高度 22.0。</p>

<pre><code>- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (tableView.tag == tableOrdersTag)
    {
      return 35;
    }
    else
    {
      return 0;
    }
}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    if (tableView.tag == tableOrdersTag)
    {
      UIView *view = [ initWithFrame:CGRectMake(0, 0, self.tableView.frameWidth, 35)];

      view.backgroundColor = COMMON_BACKGROUND_COLOR;

      DDLogVerbose(@&#34;=========tableView%f&#34;, tableView.sectionHeaderHeight);

      return view;
    }
    else
    {
      return nil;
    }
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>你的 NSLog 的位置</p>

<pre><code>      DDLogVerbose(@&#34;=========tableView%f&#34;, tableView.sectionHeaderHeight);
</code></pre>

<p>可能会导致问题。应该在返回方法之前:</p>

<pre><code>      return view;
</code></pre>

<p>将数字 35 改为 100,你会发现它工作正常。</p>

<p>因为方法</p>

<pre><code>tableView:viewForHeaderInSection
</code></pre>

<p>落后于</p>

<pre><code>tableView:heightForHeaderInSection.
</code></pre>

<p>当我创建一个没有 xib 或 Storyboard 的 TaleViewController 时:</p>

<pre><code>- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    NSLog(@&#34;heightForHeaderInSection&#34;);
      return 100;
}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{

      UIView *view = [ initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 100)];

      view.backgroundColor = ;
      NSLog(@&#34;=========tableView%f&#34;, tableView.sectionHeaderHeight);
      return view;
}
</code></pre>

<p>它会像这样打印:</p>

<pre><code> 2015-05-21 18:25:30.525 UITableViewHeaderDemo heightForHeaderInSection
2015-05-21 18:25:30.526 UITableViewHeaderDemo heightForHeaderInSection
2015-05-21 18:25:30.526 UITableViewHeaderDemo heightForHeaderInSection
2015-05-21 18:25:30.526 UITableViewHeaderDemo heightForHeaderInSection
2015-05-21 18:25:30.535 UITableViewHeaderDemo heightForHeaderInSection
2015-05-21 18:25:30.535 UITableViewHeaderDemo heightForHeaderInSection
2015-05-21 18:25:30.549 UITableViewHeaderDemo heightForHeaderInSection
2015-05-21 18:25:30.549 UITableViewHeaderDemo heightForHeaderInSection
2015-05-21 18:25:30.550 UITableViewHeaderDemo =========tableView-1.000000
</code></pre>

<p>但是 <img src="/image/BBwWf.png" alt="It works fine "/> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 更改 HeaderInSection 的 UITableView 的高度?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30370257/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30370257/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 更改 HeaderInSection 的 UITableView 的高度?