【问题标题】:iOS - how to handle orientation changes in custom table cellsiOS - 如何处理自定义表格单元格中的方向变化
【发布时间】:2010-09-27 22:20:11
【问题描述】:

我将 UITableViewCell 子类化为 tableView 的自定义单元格。我将文本和图像添加到单元格的 contentView。

在横向模式 (iPad) 下一切看起来都很棒,但当我旋转到纵向时就没有那么多了。处理方向更改以便所有表格单元格可以重新定位其 contentView 中的内容的最佳位置在哪里?我是把这段代码放在 TableViewController 中还是 UITableViewCell 子类中?

【问题讨论】:

    标签: iphone ipad uitableview orientation


    【解决方案1】:

    您可以使用单元格视图的 autoresizingMask 来查看是否可以自动获得正确的结果。如果这不起作用,您可以在 tableView 的 willAnimateRotationToInterfaceOrientation 中执行以下操作:

    NSArray* visibleCells = [tableView indexPathsForVisibleRows];
    [self.tableView reloadRowsAtIndexPaths:visibleCells withRowAnimation:NO];
    

    【讨论】:

    • -reloadRowsAtIndexPaths:withRowAnimation:的第二个参数不是BOOL;这是一个UITableViewRowAnimation 类型
    • 好的,我知道这是一个老话题,但是...您可以将BOOL 传递给该方法;苹果已经做到了,NO 不会给你动画,YES 会给你一个自动动画(不管那是什么意思)。
    • 这个答案还是很有用的。我一直在尝试使用“viewWillLayoutSubviews”和使用方向代码来实现这一点,但这会占用太多内存。这很棒。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多