gpt4 book ai didi

iphone - viewForHeaderInSection 的框架始终大小相同

转载 作者:行者123 更新时间:2023-12-03 18:20:41 25 4
gpt4 key购买 nike

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

if(section != 0) {

UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 30)] autorelease];
view.backgroundColor = [UIColor redColor];

return view;

} else {
return tableView.tableHeaderView;
}

}

这是我对 viewForHeaderInSection 的实现,但无论我制作什么框架,它总是向我显示相同的红色框架。你发现我的代码有什么问题吗?

图片:

enter image description here

更新:

嗯,现在我的红色 block 更高了,但我的第一个 tableHeader 现在以某种方式隐藏了。第一个是通过 titleForHeaderInSection 实现的。我以为我只是实现了 tableHeader 高度的高度,但这不起作用

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if(section == 1)
return 30;
else
return tableView.tableHeaderView.frame.size.height;
}

最佳答案

您需要实现此委托(delegate)方法

    - (CGFloat)tableView:(UITableView *)tableView
heightForHeaderInSection:(NSInteger)section;

就您而言,您只需return 30;即可。

<小时/>

此外,您正在泄露 View !

您的[查看版本]发生在返回之后。但是,一旦返回发生,方法执行就会中止,并且您的release永远不会被调用。

所以你想要这个

UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 30)] autorelease];

并摆脱下面显式的release

关于iphone - viewForHeaderInSection 的框架始终大小相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2450122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com