内部drawRect:
のこのコードが機能する理由はわかりません。
UIBezierPath *buildingFloor = [[UIBezierPath alloc] init];
// draw the shape with addLineToPoint
[[UIColor colorWithRed:1 green:0 blue:0 alpha:1.0] setFill]; // I'm sending setFill to UIColor object?
[buildingFloor fill]; // Fills it with the current fill color
私のポイントは、UIColor
オブジェクトがメッセージsetFill
を受け取り、スタックがこれが塗りつぶしの色になることをどういうわけか理解するということです。これUIColor
は奇妙で間違っているだけではありませんか? 少なくとも、何らかのCGContext
メソッドを呼び出して塗りつぶしを設定することを期待しています...しかし、色を表す代わりにUIColor
、描画のコンテキストを変更するために何かを実行します。
私はここで完全に迷っているので、誰かが舞台裏で何が起こっているのか説明してもらえますか?
投稿する前に、これらの参照を確認しました。
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIColor_Class/Reference/Reference.html http://developer.apple.com/library/ios/#documentation/uikit/reference/UIBezierPath_class /参照/参照.html