iPhone UIViewController 滞后

Posted

技术标签:

【中文标题】iPhone UIViewController 滞后【英文标题】:iPhone UIViewController Lag 【发布时间】:2011-06-17 12:16:31 【问题描述】:

我有一个“详细信息”页面,我在其中显示俱乐部的信息。该页面是一个 UIViewController 并由按钮和标签组成以实现这种外观(如小型分组表)。当我在设备上加载此页面时,它比我的应用程序中的任何其他视图都滞后。

我假设它是因为我在视图控制器上有很多对象。有人对如何减少这种滞后有任何建议吗?或者如何以不同的方式实现 3 个像这样(分组)的小表的外观?

谢谢。

屏幕截图:

【问题讨论】:

【参考方案1】:

您可以尝试制作自定义表格单元并改用 UITableView 吗?

【讨论】:

我必须制作 3 个单独的表格吗?这可能在一个类中全部实现吗? 你可以只使用一个tableview。只需设计一个看起来像您制作的单元格并使用它。很简单。如果你没有得到它问,我可以尝试详细说明。【参考方案2】:

您可以使用UITableViewStyleGrouped 样式将视图设为 UITableView,然后以编程方式为每一行创建单元格。覆盖

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

获取您的标题,例如“会议信息”和“联系人”,并覆盖

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

让您正确调整每个表格单元格的大小。如果“一般信息”中的文本不是固定大小的,您可以使用

-sizeWithFont::(UIFont *)font

在你的 heightForRowAtIndexPath 实现中的 NSString 方法。

【讨论】:

您可能需要使用-tableView:viewForHeaderInSection:,以便更改字体大小并使用背景。【参考方案3】:

问题不太可能出在您的界面设计上。 UI绘图通常非常活泼。减慢它的速度是访问数据。如果您正在搜索一个大型数据集,您可能会寻找加快速度的方法。

【讨论】:

我有一个不同的 UI 和相同的数据并且没有延迟。

以上是关于iPhone UIViewController 滞后的主要内容,如果未能解决你的问题,请参考以下文章

iPhone - 在 UIViewController 中处理触摸幻灯片

UIViewController 中的 iPhone UIPickerView

iPhone:在多线程环境中发布 UIViewController 时出现问题

如何在 iPhone 上横向绘制 UIViewController?

iPhone - 行为类似于 UIViewController 的 UIView

UIViewController 的 nibName 在 iPad 上为零,但在 iPhone 上不为零