1

我有 UITableView,其中单元格取自使用 Interface Builder (xib) 文件创建的 UITableViewCell。

问题是单元格的触摸区域不受影响,无论单元格的框架如何。有没有办法来解决这个问题 ?

  • xib 视图大小为 768x60(因为还需要支持纵向)
  • 内容调整大小没有问题,但触摸区域保持不变。我来自 IB 的原始单元格大小是 768x60,而新大小是 1024x60(横向)。
  • 但是,如果触摸 X 点在 768-1024 之间,则单元格不会被选中)
  • IB 的结构设置如下(检查图像),我也尝试了一些不同的设置。

    在此处输入图像描述

我该如何解决 ?这是 UITableViewCell 类中 layoutSubviews 方法的日志。

代码

- (void)layoutSubviews
{
    NSLog(@"pre frame > %@ ",NSStringFromCGRect(self.contentView.frame));
    [super layoutSubviews];
    NSLog(@"post frame > %@ ",NSStringFromCGRect(self.contentView.frame));
}

输出

pre frame > {{0, 0}, {748, 62}} // before calling [super layoutSubviews]
post frame > {{0, 0}, {1004, 62}} // after calling [super layoutSubviews]

* * 更新 * *

由于截止日期,我无法弄清楚修补此代码,因此我从头开始创建了 xib 文件(对于包含 UITableView 而不是 UITableViewCell 的大容器视图),问题似乎已经消失。感谢所有试图提供帮助的人。

4

1 回答 1

1

确保所有超级视图(从 tableview 到 app 委托中的 self.window.rootViewController)也将帧大小更改为横向。

于 2013-05-23T05:00:45.970 回答