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(@"=========tableView%f", 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(@"=========tableView%f", 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(@"heightForHeaderInSection");
return 100;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *view = [ initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 100)];
view.backgroundColor = ;
NSLog(@"=========tableView%f", 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]