うるおいらんど

アプリ開発やサイト制作のメモとか。

【Swift】UIBezierPathで点線が描けるsetLineDashで遊んでみた

魚ライン
魚ライン

UIBezierPathで点線を引くことができるsetLineDashで遊んでみました。

まずはどのようにコードを書くかですが

これだけでOKです

線を描くところはこちらで(→【Swift】簡易ペイントを作成してみた。)

 

まず適当にCGFloatの配列を用意します。この中身をいじることで簡単に色々な点線を書けます。

countには配列の個数を入れてください。(配列より大きい数や小さい数でもエラーはでませんが、配列より大きいと画面がチカチカして、小さい数だと配列のその数までを繰り返します。)

phaseは点線の開始位置ですが、変えても変化がよくわからないです。。。

 

なのでとりあえず配列の中をいじってみました。

 

dashes = [50,20]のとき

IMG_6888

まずは基本的なやつ。

線50 空白20を繰り返します。

 

dashes = [50,20,30,10]のとき

IMG_6886

 

線50 空白20 線30 空白10を繰り返します

 

dashes = [50,20,30]のとき

次に奇数の時です

IMG_6887

 

線50  空白20 線30 (空白50 線20 空白30) を繰り返していきます

 

奇数の時は線と空白が反対になるというところがポイント。

 

lineCapStyleもあわせて変えるとまた違った印象に

 

 

IMG_6889

 

ドットで書くにはlineCapStyleを.Roundにしてから

dashesを[0,10]とかにしましょう。線の部分を0にしてください。

IMG_6890

 

実際のコードでは線の太さにあわせて間隔を決めなければ点線にならないので注意です。

 

 

お絵描き画面が一応完成したのでひと段落です。後はサイトとの連携とメモリ管理・・・。とりあえず一息ついてサイトとの連携を明日までにしたいです。頑張ります。

 

魚ライン
モッピー!お金がたまるポイントサイト
魚ライン

Swiftの記事一覧を見る

コメント

コメントは認証制です。詳しくは下記の注意をお読みください。

コメントを残す

コメント時の注意

「Twitter」「Facebook」「Google+」「WordPress」のいずれかのアカウントをお持ちの方は各アカウントと連携することでコメントできます。 コメントしたことはSNSに流れませんので、アカウントをお持ちの方はこちらの方法でコメントを投稿して下さると嬉しいです。 アカウントをお持ちでない方はメールアドレスで投稿することができます。 初回コメント時は承認後に表示されます。

魚ライン 魚ライン