iOSアプリ開発でシェイクを検出する
iOSアプリ開発で、シェイクジェスチャーを検出する方法のメモです。
Udemy の講座 完全攻略!初心者からプロになるためのiOS 9アプリ開発のすべて のレクチャー83 を参考にしています。
開発環境
シェイクジェスチャーを検出する
viewcontroller に以下のコードを書きます。
if motion == UIEventSubtype.MotionShake {
print("Device was shaked")
}
}
print 文の箇所が、シェイクジェスチャーを検出した場合に実行されます。
ちょっと疑問
Udemyの講座でもネットで調べても、if motion == UIEventSubtype.MotionShake の部分が if event?.subEventType == UIEventSubtype.MotionShake になっています。せっかく motion 引数が渡されているのに、なぜ後者の方法を取るのでしょうね? ドキュメントで motionEnded メソッドを調べても特に注意は書かれていませんでしたし、このメソッドが書かれているサンプルプロジェクト(GLPaint)では motion == の書き方をしていました。なので motion == でもきっと問題ないでしょう。
iOSアプリ開発でビューをフェードインで表示させる
iOSアプリ開発でビューをフェードイン表示させます。もちろんフェードアウトもできますよ。
フェードイン表示はアニメーション表示の一種なので、UIView クラスの animateWithDuration メソッドを使用します。
開発環境
完成予定図
ボタンをタップすると、青い背景のビューがフェードインで表示されます。
ビューをフェードイン表示させる
Xcode の Single View Application テンプレートで作成します。
ボタンとビューを配置・設定
ボタンとビューを Main.storyboard に最初からある ViewController のビューに配置します。追加するビューの Alpha を 0 にします。
ビューの背景色を変更し、ボタンのタイトルを Show に変更しました。ビューは透明なので、どこにあるのか分かりません。
画像では、ビューを選択しているのでどこにあるのか分かりますね。青い線が表示されているのは Constraint を設定しているからです。
追加したビューを設定
追加したビューを、Outlet 名を blueView として ViewController.swift にリンクさせます。
ボタンにアクションを設定
ボタンを、アクション名を showBlueView として ViewController.swift にリンクさせます。showBlueView メソッドに以下のコードを書きます。
UIView.animateWithDuration(2.0) { () -> Void in
self.blueView.alpha = 1.0
}
}}
これで完成です。
animateWithDuration メソッドの animation 引数のクロージャに、アニメーション終了時のビューのプロパティを書きます。今回は、blueView を不透明にしたいので、 self.blueView.alpha = 1.0 にしました。
まとめ
ビューのプロパティをアニメーションさせながら変えたい時は、UIView クラスの animateWithDuration メソッドを使う。楽にアニメーション表現ができます。
Swift2.1で10進数を2進数・8進数・16進数に変換する
Swift2.1で10進数を2進数・8進数・16進数に変換する方法のメモです。Playground で試してみると良いでしょう。
実行環境
10進数を2進数・8進数・16進数に変換する
変換した数値は String型で受け取ります。
基数変換の余談
ちなみに、基数(引数の radix )は36以下の数を指定できます。最大基数の36は、0~9とa~zの合わせて36文字で表現します。
Toolbarの右側に Bar Button Item を配置する iOSアプリ開発
iOSアプリ開発で、画面の下にボタンなどを配置する Toolbar の右側に Bar Button Item を配置する方法を、メモとして残します。
Flexible Space Bar Button を使用して、右側に配置させます。
開発環境
完成予定図
Toolbar の右側に Bar Button Item を配置する
プロジェクトテンプレートから Single View Application を選択して、プロジェクトを作成します
- Toolbarを配置
- Bar Button Item を Tooolbar に配置
この際、Buttonは左側に配置されます。 - Flexible Space Bar Button を先ほど配置した Button の左側に配置
これで Bar Button Item が右側に配置されます。