0

UIImageView のサブクラスを作成して、いくつかの文字列をやり取りしました。また、UITableViewCell のカスタム クラスを作成し、その中に 4 つのUIStringImageViewを配置しました。

サムネイルのtableViewのようなギャラリーでこれを行いました。次に、すべての UIStringImageView に UITapGestureRecognizer を追加して、対応する画像を開きました。

ここで、UIStringImageView (不透明度あり) にオーバーレイを追加して、単一の imageView へのタッチを示したいと考えています。

ここに私のコード(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 ごとに増加します (左から右へ)。

2 つのオーバーレイを含むスクリーンショット (左下の行から 1 番目と 2 番目の imageView): ここに画像の説明を入力

誰でもこの問題で私を助けることができますか? どうもありがとう!ジュリアン

4

1 に答える 1

0

同じ問題のようなものに遭遇したすべての人のために:

問題を解決するself.bounds代わりに使用します。self.frame

于 2012-04-30T12:02:46.653 に答える