iOSを学習しているときとは異なる動作をします。私はAppleのViewプログラミングガイドを読んできました。 私はコンテンツモード試して以下のことをやった:UIViewのコンテンツモードは、override drawRect:
- を私はストーリーボードへのUIViewをドラッグし、それ私のCustomViewクラスました。
- 次にコンテンツモードをに変更し、とし、背景色をピンク色に設定しました。
- 次に、カスタムビューの幅と高さを1.5倍に変更するだけのボタンがあります。
私はこれを実行し、ボタン、クリックします:
- ケース1:
さて、私は面白いことを発見した私は、ドローRECTメソッドをオーバーライドする場合
次にビューの外観が下に移動しました
- ケース2:ドローRECTメソッドをオーバーライドすることなく drawRect: not overrided
サイズは実際にオンラインいくつかの検索を行った後
を増加し、Appleのドキュメントに見て、私は1つの質問言及以外の任意のrelaventの事をcouldntのこれはdrawLayerと関係があります:inContext:drawRectをオーバーライドした場合の動作が異なります。
ここで何が起こっているのか分かりませんか?
(フォーマットについて申し訳ありませんが、これは新しいアカウントで、私は2つの以上のリンクを投稿することはできません。)
CODE:のCustomViewについては 、単にいずれかのdrawRectをオーバーライドしたり、それなし。 CustomViewのフレームを変更するための
#import "CustomView.h"
@implementation CustomView
- (void)drawRect:(CGRect)rect{
//Do nothing, for case 2 i just commented out this method.
}
@end
:
- (IBAction)changeBound:(id)sender {
self.customView.frame = CGRectMake(self.customView.frame.origin.x, self.customView.frame.origin.y, self.customView.frame.size.width * 1.5, self.customView.frame.size.height * 1.5);
}
関連するコードで質問を更新してください。 – rmaddy
@rmaddyこんにちは、私はちょうど質問を更新しました。しかし、私はコードが何かを助けるとは思わない。私は、drawRectメソッドをオーバーライドすると、contentModeがleftに設定されているときにUIViewと異なる動作について混乱しています。 – dknyxh
これは 'drawRect:'の実際の実装ですか?それは本当に空ですか? – rmaddy