我有一個表視圖。有些單元格可能有圖像,我通過UIImageView將這些圖像添加到單元格中。這些圖像反應並打開新的視圖控制器,如果用戶點擊它(而不是單元格)。圖像大小不同。UITapGestureRecognizer部分工作在UITmageView裏面的UIImageView
我將UITapGestureRecognizer添加到UIImageView,但它的行爲很奇怪。我認爲imageView的整個區域會對手勢做出反應,但我只看到一些較小的區域,並且在這個區域的所有圖像上位置不同。
下面是從細胞初始化代碼:在不同的方向正確顯示
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
UIImageView *thumbnailImageView = [[[UIImageView alloc] init] autorelease];
thumbnailImageView.tag = CELL_THUMBNAIL_TAG;
thumbnailImageView.userInteractionEnabled = YES;
[self.contentView addSubview:thumbnailImageView];
UITapGestureRecognizer *pictureTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handlePictureTap:)];
[thumbnailImageView addGestureRecognizer:pictureTap];
[pictureTap release];
所有與圖像細胞 位置的圖像和文本的內部細胞是通過layoutSubviews完成方法:
- (void)layoutSubviews
if (thumbnail) {
CGRect thumbnailFrame = CGRectMake(contentOrigin.x, contentOrigin.y, thumbnail.size.width, thumbnail.size.height);
thumbnailImageView = (UIImageView *)[self.contentView viewWithTag:CELL_THUMBNAIL_TAG];
thumbnailImageView.frame = thumbnailFrame;
thumbnailImageView.image = thumbnail;
}
在tableView:cellF orRowAtIndexPath:方法我所有需要的數據傳遞到細胞,所以整個配置將在layoutSubviews
你能幫我找出爲什麼自來水手勢反應的區域是隨機和奇怪的定義爲所有imageViews,儘管所有內容都顯示正確?
我有同樣的問題,uitableviewcells很奇怪的行爲 – Pascalius 2012-10-04 12:29:52
謝謝! 在一張表中,我使用了'tableView:didSelectRowAtIndexPath'回調,即使在自定義高度時也能正常工作。但是當我在另一個表格中使用輕敲識別器時,我得到了這種奇怪的行爲。 – 2014-05-20 15:34:51
這個錯誤也發生在UICollectionViewCell中,也可以通過這個答案修復。奇怪的是,這個錯誤只發生在我用Xcode 6 beta構建我的應用程序並在iOS 7中啓動應用程序時發生。iOS 8完全沒問題。或者,如果我用Xcode 5構建我的應用程序,那也可以。 – 2014-08-16 01:23:49