gpt4 book ai didi

objective-c - 使用非英语(阿拉伯语、中文、希伯来语、乌尔都语等)文本时 UITableView 滚动缓慢

转载 作者:行者123 更新时间:2023-11-28 17:32:26 27 4
gpt4 key购买 nike

我正在使用 iOS 5 并制作一个 iPad 应用程序。我的应用程序中有一个 UITableView,其中每个单元格都包含一个 UITextView。然而,当非英语文本加载到 TextView 中时,它的滚动速度非常慢。

这是我为演示该问题而创建的示例项目。这使用了一个 UITableView,其中每个 UITableViewCell 都有一个 UITextView,标签为 1。它滚动得非常慢:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 20;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"BasicCellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
UITextView *textView = (UITextView *)[cell viewWithTag:1];
textView.text = @"أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎. أَبْجَدِيَّة عَرَبِيَّة‎.";
return cell;
}

我已经使用 NSLog 验证了这一行是否单独导致了速度下降。删除它可以使一切正常工作,但我需要设置文本。我已经阅读了所有我能找到的关于性能调优的内容,但这对我来说仍然是一个大问题。

缓慢滚动只是阿拉伯语、中文、希伯来语等语言的问题,而不是英语、法语、德语(可能与字符集或 unicode 相关?)具有 5000 个字符的英文字符串根本没有减速,但一个带有 200 个字的阿拉伯字符串。

感谢您的帮助!

最佳答案

看来这里延迟执行的是在可编辑的 UITextView 中设置长文本

根据讨论,将 UITextView 设置为不可编辑提高了性能我建议将其设为不可编辑,也许稍后再将其更改为可编辑

关于objective-c - 使用非英语(阿拉伯语、中文、希伯来语、乌尔都语等)文本时 UITableView 滚动缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10858880/

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