最新の投稿

    • presentViewControllerが異常に遅いバグ

      TableViewのセルが選択された時のイベントUITableViewDelegate#tableView:didSelectRowAtIndexPath:の中でUIViewController#presentViewController:animated:compl…

    • NSDateとタイムゾーンについて理解する

      今さら聞けないNSDateとタイムゾーンの関係について。国際対応を考えた時、タイムゾーンについてきちんと理解する必要があります。ウェブプログラマからアプリプログラマにコンバートした方の多くは問題ないでしょうが、アプリの開発から始める人もたくさんいるでしょうし、タイムゾーンでハマる…

    • NSDateから年月日時分秒を得る

      NSDateはGMTで日時を管理していて、タイムゾーンが考慮される年月日時分秒を得るメソッドは存在しません。これらを得たい場合はNSCalendarを使います。NSDate *date = ; NSCalendar *calendar = ; NSDateComponent…

    • 現在の言語を取得する

      OSの言語設定を得るNSLocale *locale = ;日本語に設定されているが、日本語のリソースがない場合、他の優先言語が使われることになる。その時でも上記は日本語のLocaleオブジェクトを返す。現在参照しているリソースの言語(NSLocalizedStringで取…

    • 日時表示を多言語対応する

      Dateオブジェクトから日時の文字列を得るにはDateTimeFormatterを使います。ここまでは知っている方も多いと思います。ただし多言語対応(ローカライズ)を考えるなら以下の様な方法は望ましくありません。NSDate *date = ; NSDateFormatter…

    • 端末のサイズごとにViewのConstraintを変更する

      前回のつづき。特定のSize ClassごとにConstraintを設定する方法も、前回のViewの表示・非表示とほとんど変わりません。説明の前に前回書いたのと同じ内容ですが、この記事から見始めた人のためにもう一度書きます。Storyboardの下部にあるボタンをSize…

    • 端末サイズごとにViewの表示を変更する

      前回はSize Classesについて説明しました。Interface Builder(以下、IB)上で、特定のSize ClassでのみViewを表示したり、Constraintを変更したりできます。これによりプログラムを書かなくても、複数端末で表示状態を変更することができま…

    • Size Classesとは

      今やiOSもさまざまな端末のサイズがあり今後も増えるかもしれません。Interface Builderもそれに対応してSize Classesという概念が導入されました。Compact、Regularという表現でサイズを抽象化Size Classesとは端末のサイズを抽象化し…

    • Remote Notificationの実装 - 件数表示

      前回のつづきPUSH通知(Remote Notification)の典型的な使用目的は、新着メッセージを通知することでしょう。facebookやLINEなどでもおなじみですね。今回は、新着メッセージを通知未読のメッセージ件数をアプリアイコンに表示(バッジと呼ぶ)既読に…

    • Remote Notificationの実装 - Push通知の検出

      本記事ではアプリ側のRemote Notification(Push通知)における実装について解説したいと思います。Push通知を実装する準備段階で、いろいろやることがありますが、これについては既に多くの解説記事がありますので、そちらを参照してください。iOS7での話ですので、…