[iPhone] iOSアプリで図形を描画するにはUIBezierPathを使う

iOSアプリに◯や三角などの図形を描きたい事は多いです。そんな時はUIBezierPathを使います。iOSでのグラフィックスの扱い方について見てみましょう。
 

Swift 5.1
Xcode 11.3.1

 

UIBezierPath

 
bezier とはベジェ(Bezier)曲線からきているのでしょうか?とすると自由曲線が描けるわけです。まず、ここでは簡単な矩形や楕円などの描画方法を試してみます。
iOS UIBezierPath Class Reference
 

UIView クラスを作成して直線を描く

 
まず押さえるところとして。UIViewからのクラスを作り、それを UIViewController から呼び出して使います。
 
ナビゲーションエリアでプロジェクトを右クリックして
新しくクラスを作成します
 

 
「iOS」->「Source」->「Cocoa Touch class」
 

 
Subclass of には UIView を指定します。
ここでは TestDraw というクラスを追加
 

 
プロジェクトのフォルダ内に保存先を指定して「Create」します
 
TestDraw.swiftが生成されます

 
override func drawRect(_ rect: CGRect){ }
 
がコメントアウトされているので、ここにUIBezierPath を使ってコードを記述します。

  1. UIBezierPath のインスタンス生成
  2. 起点の設定
  3. 帰着点をセット
  4. 色の設定
  5. ライン幅
  6. 描画セット

 
TestDraw.swift

 
ViewControllerから TestDraw を呼び出し、描画するフレームサイズを指定して
インスタンスを生成しview に追加します。
 
self.view.bounds.width
self.view.bounds.height

としてスクリーンの横幅と縦幅を取得
 
ViewController.swift

 
描画領域 TestDraw はデフォルトでは不透明で黒くなっています。
isOpaque = true

 

 
 

図形を描画

 
その他にも図形を描画するメソッドがあります

  • 三角形
  • 楕円(円も含む)
  • 矩形
  • 角が丸い矩形
  • 円弧

また、黒の背景色を変更するには先のisOpaqueをfalseに設定します
ViewController.swift

UIViewのコードです
 
TestDraw.swift

 

背景色をブルーにしました。


 
References:
iOS UIBezierPath Class Reference
isOpaque – UIView | Apple Developer Documentation

一人でアプリ開発の限界を感じたら

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンライン・スクールがいいと思います。


TECH ACADEMY
自宅にいながら1時間でプログラミング基礎を習得

こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン



とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約20,000名の受講生と300社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


Play Ground
本業と並行してやるには月額制なのがありがたいです。


無料で転職まで
これはiOSアプリ限定ではありませんが無料です
その代わり就職することを前提にしたスクールで「エンジニアになって職を得たい」のであれば手っ取り早いかもしれません

受講料無料:社会人転職コース


誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:


シェアする

  • このエントリーをはてなブックマークに追加

フォローする