Objective-C 基本講座

UIViewクラスを派生して独自画面を表示する

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
UIViewを拡張して、独自の画面を表示する方法を学習します。
講師:
08:18

字幕

このレッスンでは UIView を派生させ 表示画面をカスタマイズする方法を学習します UIView から派生したクラスを用意し 独自の画面を表示してみましょう 実験用に UIView を1つすでに セルフビューに貼り付けた状態から始めます この上にカスタム UIView を追加します New > File メニューで IOS 側ソースの Cocoa Touch テンプレートを選びましょう 派生元に UIView を選び 名前は BishopView とします Language は Objetive-C です BishopView のファイルが プロジェクトに追加されました UIView 派生クラスで独自の画面を 表示する方法はいくつかありますが その中で1 番直接的なものは drawRect メソッドを オーバーライドする方法です そのためテンプレートの最初から オーバーライドをする準備をしてくれています コメントアウトしている理由はこのメソッドを オーバーライドするかしないかだけで UIView のふるまいが変わるからです まずはこのまま viewDidLoad で BishopView を作り セルフビューの子供にしましょう ViewContoller に切り替えて 今作った BishopView の ヘッダーファイルをインポートします 変化がわかるよう Bishop の位置は 先に貼り付けた UIView から 少しずらしておきます ランしても画面に変化はありません これが UIView 本来の動作です UIView は背景色が指定されていない時は 画面に何も表示しません しかし BishopView 側で コメントアウトをはずし drawRect メソッドをオーバーライド した状態にするだけで ランすると黒い画面が現れます drawRect には何も入っていません このような違いがあるので drawRect メソッドは コメントアウトになっています オーバーライドする・しないの 違いが確認できたところで drawRect メソッドで 独自の画面を作ることにします 説明画面に一旦切り替えます オーバーライドする drawRect は 仮引数 Rect を持ちますが基本的に bounds プロパティと同じ値が入っていて 参照してもあまり意味はありません bounds プロパティは特に指定しない限り フレームプロパティと連動するように なっていて 左上の座標が 00 となっている状態です 例えば今回なら セルフビューの左上 50 50 の位置に 大きさ 200 200 で貼り付けたので bounds プロパティの方は左上 00 で 大きさ 200 200 となります まずはこの bounds プロパティをもとに 白い十字を書いてみましょう 描画する時はローカル座標を使います そのため bounds の矩形は 描画先全体の矩形となります CGRectInset 関数を使って bounds から内側に 小さくした矩形を作りましょう その矩形を同じく CGRectInset を 使って 縦だけ縮めた矩形で塗りつぶし その後に 横だけ縮めた矩形で塗りつぶします それでは実際に書いてランしてみましょう Xcode の画面に切り替えます UIView の drawRect メソッドは 何もしない メソッド なので super 側を呼び出す必要はありません 先ほどの CGRectInset で bounds から2つの 塗りつぶし用の矩形を用意しています そして UIColor で白色を取り出し setFill で現在の描画先の 塗りつぶしの色を指定します IOS の描画システムには現在どこに対して どんな描画をしているか管理している― オブジェクトが存在し 指定した色は 改めて指定し直さない限りその後もずっと 覚えられて使われます UIRectFill はその色で 引数で指定された矩形を塗りつぶします ランすると白い十字が表示されます 今度は bishop の背景色を 指定してみましょう ランすると少し後ろが透けた― オレンジの背景となります 説明画面に切り替えます ここで使った― UI カラーのイニシャライザーでは 最初の引数で色相を指定します 0 の赤から始まり 緑 青と変化し 1 で元の赤に戻ります saturation には彩度を 0 から1 の値で指定します 1 が1 番鮮やかになります brightness には 明るさを 0 から 1 の値で指定します 1 が1 番明るくなります 最後の α は不透明度です 0 から1 の間で指定します 0 が完全な透明で1 が完全な不透明です これで自分が作りたい色を作ることができます ほかにも RGB 3原色の明るさで 指定する方法など 色々なイニシャライザーがあるので 調べてみてください このレッスンでは UIView を派生させ 表示画面をカスタマイズする 方法を学習しました

Objective-C 基本講座

このコースはプログラミング初心者でもObjective-CによるiOSアプリ開発の体系的な理解が得られるように構成されています。プログラムの動作の原理、Objective-C言語の役割、そこで利用されるCocoa touchオブジェクトの役割、基本的なiOSアプリの作成方法などを学習します。ぜひこのコースをアプリ開発に踏み出すさいの第一歩としてください!

6時間39分 (69 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2015年11月18日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。