None 13 11月 2018 AWSのプッシュ通知をアプリで実装するための注意点 エンドポイントを最新に保つ エンドポイントが無効になると通知が届かなくなってしまいます。作成済みであっても、デバイストークンが変わった時には登録し直さないといけません。逆にインストール直後など、まだ通知が必要か分からない段階では無理に作成しないようにします。 AWSSNSでプッシュ通知の購読と解除を… 続きを読む
None 5 11月 2018 SwiftでCFDictionary SwiftはObj-Cに比べてより柔軟な書き方ができる反面、最適な書き方がよく分からない場合がある。省略できたりできなかったり。例えばCFDictionaryの場合。 よく見かけるコード func clear() { let query: [String: Any] = [ kSec… 続きを読む
None 7 7月 2018 IBOutletCollectionをNSMutableArrayにする 同種のViewを配列で扱えるIBOutletCollectionは、普通に使うと変更できないNSArrayになります。ボタンのコレクションを宣言するとこんな感じ。 @property (nonatomic) IBOutletCollection(UIButton) NSArray<UIButt… 続きを読む
None 17 6月 2018 縦向きのスライダーVertical Sliderを作ってみよう Viewの向きを変えたいとき、今のところ、Storyboardからは直接回転させられません。ですので、初期化時にtransformで回転させますが、そうすると、制約でレイアウトを制御しにくくなります。目視でレイアウトを微調整できないのも不便ですよね。 妥協点を探る上で、縦向きのスライダーを考えてみま… 続きを読む
None 13 4月 2018 ドラッグで「戻る」「閉じる」ができるDraggableNavigationControllerを作ってみた DraggableNavigationContoller この仕組みはiOS 13に標準搭載されましたので、カスタマイズ不要となりました。 ViewControllerの画面遷移を思いのままにカスタマイズ モーダルの場合はtransitioningDelegateメソッド func animatio… 続きを読む
None 16 3月 2018 UIAlertControllerは拡張高い UIAlertControllerはサブクラス化が禁止されていますが、内部では色々な事ができるように作られています。setValueを使うと上部にViewControllerを追加できるので画像を表示できるようにカスタマイズしてみました。取りあえずiOS10と11で動きます。 画像表示ダイナミックフ… 続きを読む
None 1 3月 2018 Swiftで経過時間を表示する 秒数を整数にして自力で計算する タイマーで繰り返し経過時間を表示させる場合は、整数にして計算すると速いです。 // 適当に開始時点のDateを用意する let startDate = Date().addingTimeInterval(-180071.3325) // 開始からの経過秒数を取得する … 続きを読む
None 11 2月 2018 ナビゲーションバーの戻るボタンのタイトルだけを消す方法 ナビゲーションを使った画面遷移で左側に表示される<戻るボタンを矢印だけにしてみます。最初に紹介する前の画面で設定しておくのが一番簡単な方法です。 前の画面で設定しておく 遷移前のViewControllerで空のボタンをセットしておくとpushした次の画面で文字が消えます。 コードで設定 ov… 続きを読む
None 5 2月 2018 無料ホームページ作成サービスWixを使ってみよう! ご存知でしょうか? インストール不要で簡単に使える無料ホームページ作成サービスがあることを。 そんなWixのアカウントを取得してホームページを公開するまでやってみます。 Wixのアカウントを取得する ja.wix.comにアクセスします。 今すぐはじめるでログイン画面が表示されるので無料新規登録はこ… 続きを読む
None 31 1月 2018 競合するUIGestureRecognizerを上手く共存させる viewに割り当てたジェスチャー同士がバッティングした時にはどれを失敗させるのか、事前に決めておく必要があります。 こういった処理は通常、画面上のジェスチャーを同列に扱えるViewControllerの中で書く訳ですが、複雑なアプリになると出来るだけVCには書きたくなくなります。 そこで、ある程度良… 続きを読む