gpt4 book ai didi

iphone - Xcode ScrollView 慢

转载 作者:行者123 更新时间:2023-11-28 22:40:51 25 4
gpt4 key购买 nike

我在 ScrollView 中创建了一个标签。 for 循环计数超过 1000。当时滚动非常慢。如果数据量较少 (200, 300, ...) 时它会平滑滚动。我正在使用以下代码创建标签。

UILabel     *modelLabel;
UIButton *modelButton;

for (int i = 0; i < [modelArray count]; i++)
{
modelButton = [UIButton buttonWithType:UIButtonTypeCustom];
modelButton.frame = CGRectMake(0.0, (i * LABEL_HEIGHT), LABEL_WIDTH, LABEL_HEIGHT);
modelButton.tag = i+100;
[modelButton addTarget:nil action:@selector(modelButtonAction:) forControlEvents:UIControlEventTouchUpInside];
[modelScrollView addSubview:modelButton];
modelLabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0, (i * LABEL_HEIGHT), LABEL_WIDTH, LABEL_HEIGHT)];
modelLabel.text = [NSString stringWithFormat:@"%@", [[modelArray objectAtIndex:i] valueForKey:@"Model"]];
modelLabel.tag = i+1000;
modelLabel.backgroundColor = [UIColor clearColor];
modelLabel.textColor = [UIColor grayColor];
modelLabel.alpha = 0.5;
modelLabel.textAlignment = UITextAlignmentCenter;
modelLabel.font = EUROSLITE_FONT(14);
[modelScrollView addSubview:modelLabel];
}

[modelScrollView setContentSize:CGSizeMake(280.0, ([modelArray count] * LABEL_HEIGHT))];

我该如何解决这个问题?

提前致谢。

最佳答案

这发生在你身上是因为你加载了很多东西到内存

正如上面的评论所说,使用UITableView 将非常容易实现。

虽然如果你想要更多的控制,并且你决定使用 ScrollView ,你必须实现延迟加载。这是在实际需要显示而不是在初始化期间分配和放置标签时完成的。通过将 View Controller 设置为委托(delegate)并从 scrollViewDidScroll: 方法获取 contentOffset,您将能够知道这一点。同样在认识到你需要删除 subview 以清除内存之后

你可以看到很好的例子here

关于iphone - Xcode ScrollView 慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14564186/

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