0

UIView サブクラスがあり、drawRect メソッドで描画しています。

drawRect ターゲット レイヤーの上にオーバーレイ イメージを追加するにはどうすればよいですか?

initWithFrameメソッドに以下を追加します。

    //add the image overlay
    UIImageView *overlageImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"downloaderFront.png"]];
    overlageImage.center = self.center;
    [self.layer addSublayer:overlageImage.layer];
    //replacing the above line with below line does not fix either
    [self addSubview:overlageImage];

この画像は、drawRect 描画の上には表示されません。

4

1 に答える 1

0

層のものは確かに間違っています。これを行うだけです:

UIImageView *overlageImage = 
    [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"downloaderFront.png"]];
[self addSubview:overlageImage];

のフレームで遊んで、overlageImage必要な位置を取得できます。

実際の質問については、ブレークポイントを設定してください。コードが実行されていないことに気付くと思います (ビューinitWithFrameが呼び出されないため)。これはただの推測です - この UIView サブクラスのインスタンスがどのようにインターフェースに入るかについては何も言われませんでした - しかし、それはよくある間違いであり、常に最初に明白なことを疑うべきです!

于 2013-05-12T17:27:26.703 に答える