我创建了一个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):
有人可以帮我解决这个问题吗?非常感谢!儒略
答案 0 :(得分:0)
对于遇到类似问题的每个人:
使用self.bounds
代替self.frame
解决了这个问题。