HOME » Natsu note »  iOS

Size Classで柔軟なレイアウトを実現 2015/02/12/|iOS, , ,

iOS 8とXcode 6より導入されているSize Classは、使えば使うほどその便利さに気がつきます。この便利なSize Classを理解すべく、IBとアセットカタログのみを利用したサンプルを用意してみました。 Size Classとは 何ができるのか Size Classを使えば、画面のサイズ(デバイスの種類や向き)に応じた画面レイアウトを実現できるだけでなく、フォントサイズや画像も画面サイズごとに設定できます。さらには、特定のサイズのときだけ表示されるビューも、IB(Interface Builder)上で簡単に実装できてしまいます。 iOS 8では、「Size Class」に関連す

iOS 開発ツール FLEX by Flipboard を試す 2014/08/20/|iOS,

お知らせ:開発ブログが新しくなりました。詳しくはこちらをご参照ください。 Flipboardが提供している機能満載な開発ツールFLEXを試してみました。 https://github.com/Flipboard/FLEX 何ができるの? 至れり尽くせり何から何までできます、というのが正しい表現でしょうか。かなり高度なツールです。GitHubのページに書かれている内容をそのまま訳すと以下のようになります。 ビュー(ビュー階層)の確認と修正 プロパティとインスタンス変数の参照 プロパティとインスタンス変数の動的変更 インスタンスメソッド、クラスメソッドの動的呼び出し ライブオブジェクトへのアクセス

NSNumberFormatterを用いて賢く国際化 2013/12/25/|iOS, ,

先日たまたまこんなツイートを見かけました。 『ヨーロッパの多くの国では(.)と(,)の扱いが逆であるため、「1,234.567」を「1.234,567」と書きます。』知らなかった。。。 > RT — masahiro k. (+Beans) (@Jacminik) 2013, 12月 19 去年まで暮らしていたドイツでは後者(日本とはカンマとコンマが逆)の表記が用いられていました。実はカンマとコンマの他にも、3桁区切りの文字がスペースだったり、国や地域によって様々な表現方法があります。金額表示も、通貨単位が数字の前に来るケースと後ろに来るケースがあったりします。 アプリ開発で

[iOS 7] 簡単にできる画面遷移のカスタマイズ 2013/12/18/|iOS, ,

iOS 7から、画面遷移のアニメーションをカスタマイズできるようになりました。実装はシンプルで本当に簡単です。しかし、やたらと長い(しかもイマイチ統一感のない)プロトコルをたくさん使わなくてはならないため、何となく二の足を踏んでいる方も多いのではないでしょうか。 今回は、画面遷移のカスタマイズの基本中の基本を紹介します。 関連プロトコル 画面遷移の実装には多くのプロトコルを使用します。その中で、最低限必要となるのは以下の3つです。 UIViewControllerAnimatedTransitioning(アニメーションコントローラ) UIViewControllerContextTransi

[iOS 7] NSAttributedStringによる下線、取り消し線 2013/12/10/|iOS, ,

iOS 7が正式に公開されてから、あっという間に数ヶ月が経ちました。すでにiOS 7ライクなUIの方が見ていて落ち着くようになり、iOS 6までのUIは古くさく感じてしまう今日この頃です。アプリのアップデートが追いついていないので焦りつつも、ここ数ヶ月はせっせと執筆作業に励んでおりました(本記事の最後で紹介します)。私と同じく、これから慌ててiOS 7対応をしようとしている方のためにも、ここでiOS 7関連の記事を少しずつ書いていこうと思います。 今回は、地味な機能だけど知っていると便利な属性付き文字列(NSAttributedString)についてです。 属性付き文字(NSAttribute

[紹介][チュートリアル] NSRegularExpression(正規表現) 2013/06/04/|iOS

NSRegularExpressionのチュートリアルがあったのでやってみました。NSRegularExpressionとは、Objective-Cで正規表現を用いて文字列検索等を行うためのクラスです(iOS 4からあります)。iOS 6からはUITextFieldのコンテンツをNSAttributedStringで表現することができるようになりましたが、文章内の特定の文字列をハイライトしたいときなどにはNSRegularExpressionと合わせて利用すると便利です(チュートリアルでもそのような使い方をしています)。 正規表現についての知識がなくても取り組めるよう、簡単ではありますが、冒頭

[Xcode][tool] ランタイムデバッガーSpark Inspectorが便利! 2013/05/14/|iOS,

デバッグ時にビューについての情報(重なりや位置、色など)を解析したくなることがよくあると思います。ビューの階層構造を知るための方法はいくつかありますが、先日見つけたSpark Inspectorがものすごく便利そうなのでご紹介します。 Spark Inspector – Runtime Debugger for iOS Apps Spark InspectorはBonjourとMethod Swizzlingを利用したランタイムデバッガーです。プロジェクトにフレームワークを追加し、起動のためのコードを記述するだけで簡単に利用できます(実際には、これらの作業もアシスタントが自動で行っ

[紹介] Objective-C警告タイプのまとめ 2013/05/11/|iOS » Xcode,

アプリ開発時に最も苦労するのは何でしょう。多くの人がバグ取りとテストに時間を取られているのではないでしょうか。本来であれば、多くの時間はバグ取りではなく設計に費やしたいところです。 そこで役立つのがコンパイル時の警告。たかが警告、されど警告。あなどれません。ここには非常に多くのヒントが隠されています。私自身、常に警告はゼロにしていますが、コンパイルオプションを変えるとまだまだほかの警告が出てきます。 この警告レベルについて、非常に分かりやすくまとめられている記事がありました。 Compiler Warnings for Objective-C Developers – Ole Be

[iOS6] Collection View 基本的な使い方 2012/09/20/|iOS,

ついにiOS 6がリリースされましたね。iOS 6では、また数多くの機能が追加されました。ユーザー目線での新機能もさることながら、個人的には開発者にとって嬉しい新機能 Collection View に注目しています。 Collection Viewとは Collection Viewとは、一言で言えば縦横方向にセルを並べることができるTable Viewのようなものです。UICollectionViewControllerを用いて画面を作成し、セルの中身は、UITableViewControllerと同様にDataSourceを使って指定します。 各セルのサイズは一定である必要はなく、また、

[Xcode][Modern Objectice-C] NSNumberリテラルとBoxed Expression Literals 2012/08/22/|iOS » Xcode

Xcode 4.4 (+ LLVM 4.0)からNSNumberリテラルが利用可能となりました(Modern Objective-C)。かなり便利でコード量も減らせます。 NSNumberリテラルによるオブジェクトの生成 まずは、オブジェクトの生成から。これまで、numberWithXxxまたはinitWithXxxを利用して生成していましたが、これからはNSNumberリテラルを利用して簡潔に書くことが可能です。NSNumberリテラルは、文字列リテラルと同様に@を使って表現します。 メソッドによる生成(従来の方法) NSNumberリテラルによる生成 (注) BOOL値を表現する際には、o