调整大小的UITableViewCell不会影响触摸区域

时间:2013-05-23 04:15:23

标签: ios objective-c xcode uitableview autoresize

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

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

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

    enter image description here

我该如何解决这个问题?这是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的大容器视图),问题似乎已经消失了。谢谢所有试图提供帮助的人。

1 个答案:

答案 0 :(得分:1)

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