Objective-C 基本講座

よりリッチな画面にする・UIButton、UILabelの使用

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
文字を出すことに特化したUILabelやボタン機能に特化したUIButtonを紹介します。
講師:
08:36

字幕

このレッスンでは UILabel と UIButton そして NSstring を紹介します UIView を派生すれば 望みの画面を作れるわけですが ボタンや文字列の表示と言ったものは すでに専用の UIView 派生クラスが用意されています まずは画面に文字列を表示するための クラス UILabel から紹介しましょう 基本的な使い方は UIView と同じですが UILabel には text という プロパティが用意されていて これに文字列を設定すると 画面に文字列を表示してくれます ただしこの文字列は printf のように 終端文字コード付きのキャラ型ポインターで 指定することはできません テキストに指定する文字列は NSstring というオブジェクトに する必要があります 基本的に NS オブジェクトから 派生したオブジェクトは 文字列を NSstring の形で扱います この点はこの後に紹介する― UIButton でも同じです NSstring のイニシャライザーには 終端文字コード付きの キャラ型ポインターを 受け取れるものがあるので これに文字列リテラルを渡すことで NSstring を作成できます 最初の引数に文字列リテラルを 続く Encoding には NSUTF8stringEncoding を 指定してください これは渡した文字列のバイト列を どう解釈するべきかを指定するものです 半角英数として解釈させたければ NSASCIIStringEncoding を指定しますが UTF8 は半角英数に関してはアスキーと 互換性があるように設計されているので わざわざ指定する必要はありません 文字列リテラルを使って NSstring を作成しようとすると こういった記述が必要です ただしこの記述は @マークを文字列リテラルの前につけることで 略記できるので通常はこちらを使います では実際に作ってみましょう Xcode の画面に切り替えます 今回作成した UILabel は 後で追加する UIButton が タップされた時に利用するので インスタンス変数で渡しています ちなみにこのプログラムソースファイルは UTF8 でコード化されています そのため文字列リテラルを渡して NSUTF8String を 指定しても矛盾がありません 項目の右クリックで openAsHex を選べば 実際のメモリ上でのバイト列状態を 見ることができます このあたりが日本語部分です 矩形範囲を確認するために バックグランドカラーを指定しておきます ランすると文字列の一部が表示され 残りは3 点リーダーで省略されています UILabel は 文字列を1 行で表示しようとし 指定された矩形に収まらない時 このように表示します numberOfLines プロパティで 最大何行までの折り返しを 許すか指定してやれば 矩形をはみ出さない範囲で 複数行で表示してくれます 収まりきらない場合文字列を縮小して 表示するようにも指定できます adjustFontSizeToFitWidth プロパティを yes にして minimumScaleFactor プロパティで 縮小の限界を比率で指定します 最小 0.5 としてランすると こんな感じです 矩形の幅を self.view いっぱいに 広げてみましょう このほか右付け・左付けを指定したり 影を付けたりもできますし 3 点リーダーの位置を文字列の中間にするか 先頭にするかなども指定できます 一文字ごとに装飾を指定したりもできるので 各自で調べてみてください NSstring を @マークの略記に変更してみましょう ソースも見やすくなるので 積極的に使ってください 次は画面のタップに対応する― UIButton を紹介します UIButton も UIView と同じように作れるのですが その場合 ボタンをタップされた時のハイライト色や ボタンで表示する文字列の色など 全て指定する必要があります そういったことを省略できるクラスメソッドが 用意されているのでそちらを使います buttonWithType では 引数に 作りたい UIButton の 種類を指定します UIButtonTypeSystem で 標準のボタンになります この場合フレームは後から設定します 一般にこのような アロップとイニシャライザー以外で インスタンスを作るメソッドのことを 簡易コンストラクターと言います ボタンに表示する文字列は setTitle と いうメッセージを送って設定します forState には UIControlStateNormal を指定します ボタンがタップされた時など いくつかの状態ごとに 文字列を指定できるようになっていますが 通常 Normal だけで構いません UIButton も ターゲットアクションデザインパターンを使います addTarget で指定しますが 最初の引数で伝える相手 action で呼び出すメソッド 最後の forControlEvents で 呼び出してもらう状況を指定します iPhone や Mac のボタンは 触れてから指を放すまでの間に ボタン外に移動すれば キャンセル扱いにする仕様なので このように指が放れた場合が ボタン内という指定が妥当です そのほかに触れた瞬間など 色々なタイミングを指定できます 指定した change メソッドでは 先ほどの UILabel のtext プロパティ を変更します このレッスンでは UILabel とUIButton そしてNSstring を紹介しました

Objective-C 基本講座

このコースはプログラミング初心者でもObjective-CによるiOSアプリ開発の体系的な理解が得られるように構成されています。プログラムの動作の原理、Objective-C言語の役割、そこで利用されるCocoa touchオブジェクトの役割、基本的なiOSアプリの作成方法などを学習します。ぜひこのコースをアプリ開発に踏み出すさいの第一歩としてください!

6時間39分 (69 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2015年11月18日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。