現在選択されている言語を取得する方法

現在選択されている言語を取得できれば、
「表示言語によって処理を分岐する」などができるようになります。


まず言語のリストを取得します。



取得したリストの0番目に、現在選択されている言語の言語コード(日本語なら”ja”)が格納されるので、NSStringに格納します。



あとは「initWithLocaleIdentifier」を使ってNSLocaleを生成します。



ネットワークアクセス中であることをユーザーに明示する方法

network access Activity indicator
ステータスバーにネットワークアクセス中であることを示すインジケータを表示する方法を説明します。

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
でインジケータが有効になります。
(ネットへのアクセスが始まると、自動でインジケータが表示されます。)

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
でインジケータは無効になります。


アプリを複数の言語に対応させる方法

アプリを複数の言語に対応させる方法について説明します。
今回は日本語と英語に対応させてみます。

1、まずは言語の設定ファイルを作ります。

▼適当なグループ(ここではSupporting Filesを選択しています)を右クリックしNew Fileを選択します
xcode new file

▼メニューが出てくるのでiOSのResouseの中からStrings Fileを選択します
strings file

▼英語表記のときに表示する文字列を
“Edit”=”Edit”;のような形式で入力します。(セミコロンを忘れずに!)
en localize

▼FileinspectorのLocalizationという項目の下にあるプラスボタンを押します
localization

▼Englishが現れます。
localization en

▼もう一度プラスボタンを押し、Japaneseを選択します
japanese

▼Japaneseが表示され、
localize

▼.stringsファイルが分割されます。
localizable.strings

▼.stringsファイルの(Japanese)の方は
“Edit”=”編集”;という形式で書きます。
localization ja

2、多言語化する部分にコードを追加する
▼下記の画像のように多言語化する文字列は
NSLocalizedString(@”Settings”, @”")
という形式で書きます。


3、確認してみる
「設定app→一般→言語環境」で表示言語を変更できます。
▼日本語の場合


▼Englishにした場合


ローカライズできました!


iOS向けのオープンソースのUIが探せる「Cocoa Controls」

iOS向けのオープンソースのUIが探せる「Cocoa Controls」というサイトが便利なので紹介します。

カレンダー、facebook風のメニュー、パスコード画面
などのUIはUIKitに用意されておらず、
自分でコードを書いてUIを作ることになります。
しかし一から作るのは、なかなか大変だと思います。

そんな時はまずCocoa Controlsで探してみましょう。
数百種類ものUIが紹介されています。

cocoa controls

それぞれライセンスの種類が違うので
ライセンスをよく確認してから使わせてもらいましょう。


UIViewの角を丸くする方法

UIViewの角を丸くする方法について書きます。

まずは、QuartzCore Frameworkを追加します。
XCodeのプロジェクト -> TARGETS -> Build Phasesで
Link Binary with Librariesを展開して
+ボタンを押して「QuartzCore.Framework」を検索して追加します。


次に、この方法を使うクラスの.hファイルで
QuartzCore/QuartzCore.hをインポートします


これで角を丸くすることができるようになりました。

角を丸くしたいUIViewが「view」という名前の場合の例は以下のようになります。


iOS5以降で簡単に使える4種類のUIAlertView

iOS5.0から「alertViewStyle」というプロパティが追加されたので、
4種類のアラートを簡単に表示できるようになりました。



「setAlertViewStyle:」の引数に下記の4種類のどれかを指定します。
UIAlertViewStyleDefault
UIAlertViewStyleSecureTextInput
UIAlertViewStylePlainTextInput
UIAlertViewStyleLoginAndPasswordInput


Interface Builder(Storyboard)を使わずにToolBarを利用する方法

Interface Builder(Storyboard)を使わずに、ToolBarを表示させてみます。
viewDidLoad部分に以下のコードを書きます。


Interface Builder(Storyboard)を使わずにTabBarを利用する方法

Interface Builder(Storyboard)を使わずに
TabBarを利用するにはAppDelegate.hとAppDelegate.mにコードを記述します。

▼AppDelegate.h



▼AppDelegate.m



9〜11行目の個別ページ生成部分と、15行目のTabBar生成部分を変更すれば、タブを減らしたり増やしたりすることができます。


UINavigationBarの背景に画像を指定する方法

UINavigationBarの背景に画像を指定する方法を紹介します。
アプリに個性を出したい場合なんかにためしてみるといいかもしれません。

UINavigationBarにUIImageViewをinsertSubviewして実現します



Interface Builder (Storyboard) を使わずにUIPickerViewを使う方法

Interface Builderを使わずに
UIPickerViewを使う方法を紹介します

▼MyPickerViewController.h
<UIPickerViewDelegate, UIPickerViewDataSource>を指定します。




▼MyPickerViewController.m
dataSourse/delegate、列数/行数を指定します。