gpt4 book ai didi

iphone - UIScrollview 滚动时调用 super View layoutSubviews?

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

我将 UITableView 作为 subview 添加到我正在处理的自定义 UIView 类中。但是我注意到,每当我滚动表格时,它都会调用我的类layoutSubviews。我很确定该表继承的 UIScrollview 实际上正在执行此操作,但想知道是否有办法禁用此功能,如果没有,为什么会发生这种情况?我不明白为什么当您滚动 ScrollView 时,它需要其 super View 来布局其 subview 。

代码:

@implementation CustomView
- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {
self.clipsToBounds = YES;

UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0, 15.0, 436.0, 132.0) style:UITableViewStylePlain];
tableView.dataSource = self;
tableView.delegate = self;
tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
tableView.backgroundColor = [UIColor clearColor];
tableView.showsVerticalScrollIndicator = NO;
tableView.contentInset = UIEdgeInsetsMake(kRowHeight, 0.0, kRowHeight, 0.0);
tableView.tag = componentIndex;

[self addSubview:tableView];
[tableView release];
}
return self;
}
- (void)layoutSubviews {
// This is called everytime I scroll the tableview
}

@end

最佳答案

是的,UIScrollView 每当滚动时都会调用layoutsubviews。我可以发誓文档中的某个地方已经说明了这一点,但我想没有。

无论如何,普遍的想法是 UIScrollView 应该布局它的内容,这样当前看不到的 View 就不应该被布局。当用户在 ScrollView 中滚动时,它应该根据需要添加和删除 subview 。我猜这就是 TableView 用于将隐藏的表格单元格排队的方法。

您是否有任何理由关心layoutsubviews是否被调用?

关于iphone - UIScrollview 滚动时调用 super View layoutSubviews?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2815887/

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