ios - 方向更改后如何避免调整 UITableView(旋转)单元格的大小?

标签 ios ipad uitableview rotation

我通过将它旋转 90 度来实现水平 UITableView

horizontalShopsTableViewController.view.transform = CGAffineTransformMakeRotation(-M_PI/2);

然后将其单元格向后旋转 90 度:

cell.contentView.transform = CGAffineTransformMakeRotation(M_PI/2);

我希望表格具有灵活的宽度。如果我不将其设置为灵活,则方向更改后一切正常。但是,如果我这样做,单元格的内容就会放错地方并消失。 TableView 的“Autoresize Subviews”标志为 false。

enter image description here

任何想法可能是导致问题的原因或可以使用哪些替代方法?

最佳答案

好的,问题是因为 tableview 的宽度是灵活的,旋转后单元格的宽度(实际高度)也增加了。我通过子类化 UITableView 并重写 layoutSubviews 方法克服了这个问题,所以它现在看起来像这样:

- (void)layoutSubviews {

    [super layoutSubviews];

    for (UIView* child in [self subviews]) {

        CGRect frame1 = child.frame;
        if ([child isKindOfClass:[UITableViewCell class]]) {
            frame1.size.width = 120;
            child.frame = frame1;        
        } 
    }

}

无论如何,如果我明确将 Autoresize Subviews 设置为 false,我仍然不明白为什么 uitableview 会调整其单元格的大小。

关于ios - 方向更改后如何避免调整 UITableView(旋转)单元格的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10819631/

相关文章:

javascript - 在 Windows 中测试/调试 Phonegap iOS 应用程序

javascript - 大量的javascript会影响页面的加载时间吗?

用于连续是/否问题的 iOS UI 设计模式

iPad 上的 jQuery Booklet 插件

iPad 可滑动面板控制,如推特

ios - 使用 Obejctive C 在 tableview 单元格中搜索特定值时如何获取所有数组值?

ios - iTunes Connect 中缺少应用内购买部分

ios - 如何在 Swift 3/4 中更改 MapKit 的引脚颜色?

ios - Swift:每次重新加载时都会一次又一次地添加 tableview 单元格内容?

swift 在用户键入时自动调整 UITextView 的大小并声明 TableView 单元格