UITableViewCell中的自定义UIImageView

时间:2012-04-28 20:00:35

标签: uitableview uiimageview uigesturerecognizer touchesbegan

我创建了一个UIImageView的子类来传递一些字符串。我还创建了一个自定义的UITableViewCell类,并将其中的四个 UIStringImageView 放在其中。

我为缩略图tableView这样的画廊做了这个。 然后我为每个UIStringImageView添加了一个UITapGestureRecognizer来打开相应的图像。

现在我想在UIStringImageView上添加一个叠加层(带有不透明度)ti指示单个imageViews上的触摸。

这里是我的代码(来自UIStringImageView的实现):

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    overlay = [[UIView alloc] initWithFrame:self.frame];
    [overlay setBackgroundColor:[UIColor colorWithWhite:0 alpha:0.5]];
    [self addSubview:overlay];
}

代码工作正常。但我的问题实际上是,叠加不在imageViews之上,而是有一个偏移(从顶部和左侧)。每个视图的顶部偏移量相同,每个imageView的左偏移量增加(从左到右)。

带有两个叠加层的屏幕截图(左侧,底部行的第一个和第二个imageView): enter image description here

有人可以帮我解决这个问题吗?非常感谢!儒略

1 个答案:

答案 0 :(得分:0)

对于遇到类似问题的每个人:

使用self.bounds代替self.frame解决了这个问题。