質問
私は見ておきたい追加のカスタム描画ます。
私は知っていることとな接続してペン先/Xibファイル
- 書きのコードを
-drawRect:
方法。
できまし init
の利用
[[MyView alloc] initWithNibName:@"MyView" bundle:[NSBundle mainBundle]];
-drawRect:
もちろんだけ呼び出されます。って以下のコード -viewDidLoad
CGRect rect = [[self view] bounds];
CGContextRef ref = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(ref, 2.0);
CGContextSetRGBStrokeColor(ref, 1.0, 1.0, 1.0, 1.0);
CGContextSetRGBFillColor(ref, 0, 0, 0, 0);
CGContextAddRect(ref, CGRectMake(1, 1, rect.size.width - 10, rect.size.height - 10));
CGContextStrokePath(ref);
CGContextDrawPath(ref, kCGPathFillStroke);
がなく描かれています。そのアイデア?
解決
と思うのがん治療の景観コントローラとの互換性があります。例えば、ありません -[UIView initWithNibName:bundle:]
法ことになるUIViewController方法です。
さらに、ビューがないかのように"キャンバス"る。見するための描画そのもの;一般に、がんに引き込まれから"。
い:
名前を変更サブクラスのUIViewControllerからMyViewにMyViewController.
新規作成しUIViewのサブクラスの名前MyView.
を追加
-drawRect:
方法を新しいMyViewクラスの描画します。最後に、設定のカスタムクラスのビューコントローラのビューのインターフェイスをビルダーをMyViewの認検査判定を行います。
例えば、対応することができるでしょう使用 -[MyView drawRect:]
実施:
- (void)drawRect:(CGRect)rect {
CGRect bounds = [[self view] bounds];
CGContextRef ref = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(ref, 2.0);
CGContextSetRGBStrokeColor(ref, 1.0, 1.0, 1.0, 1.0);
CGContextSetRGBFillColor(ref, 0, 0, 0, 0);
CGContextAddRect(ref, CGRectMake(1, 1, bounds.size.width - 10, bounds.size.height - 10));
CGContextStrokePath(ref);
CGContextDrawPath(ref, kCGPathFillStroke);
}
のですが抽選とさせていただきますクリップの更新の矩形に渡されます。
他のヒント
このことは、個人だけでなく、さらにオンリーによって制約を
- セットのクラスのNSViewオブジェクトのXibファイルのカスタム。いるかをお知らせカスタムの描画とは、"ハードコードされた"NSViewサブクラスは、こうします。がXibファイルが読み込まれ、NSViewを読み込みオブジェクトとしてのカスタムクラスの代わりにデフォルトです。を変更するクラスタイプのビューのXibは簡単なインターフェースビルダを構築します。
- 場合にはNSViewオブジェクトのXibファイルが既に何らかのカスタムビューがないオーバーライドを追加することができますsubviewるビューのインターフェイスをビルダーでのsubviewにカスタムクラスのデザイン(#1)
- できるプログラムの追加subviewのNSViewオブジェクトのXibファイルで行います。おサンプルコードの上、インスタンスを作成およびユーザーインターフェイスNSViewサブクラスを追加し、既存のビューを使用
addSubView:
方法。
どのように簡単なサブビュー内のすべての描画を行うことについてと(のviewDidLoadで)XIBビューに追加する?
所属していません StackOverflow