0

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

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

现在我想在 UIStringImageView(不透明度)上添加一个覆盖层,以指示对单个 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,底行): 在此处输入图像描述

有人可以帮我解决这个问题吗?非常感谢!朱利安

4

1 回答 1

0

For everyone running into something like the same problem:

Using self.bounds instead of self.frame solved the issue.

于 2012-04-30T12:02:46.653 回答