Objective-C入門

メソッドの作り方:ボタンを作ってみよう

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
UIButtonクラスのオブジェクトを作ることで、押すと背景色が変わるボタンの作り方を学びます。それと同時に、ボタンが押された時に反応するために、自分のクラスにメソッドを追加する方法を学びます。
講師:
08:59

字幕

このレッスンでは これまで使ってきたラベルに加えて タッチして押すことのできる ボタンを作成します ボタンを使うことで ユーザーのアクションに応じて 動作を変えることのできる インタラクティブなアプリケーションが 作成できるようになります それでは こちらのコードをご覧ください 現在作成したばかりの プロジェクトがあります このプロジェクトの 「ViewController」の中に 自分のコードを 追加していきましょう これまで使ってきたのは 「UIlabel」 というラベルでしたが 今回は ボタンを作成しますので ボタンに対応した「UIButton」 というクラスを利用します 変数の名前は 「button」にしておきましょう ボタンの作成の仕方は ラベルと変わりません まず ボタンのクラス名を入力した後 「alloc」を呼び出し さらに 「initWithFrame」を使って ボタンの位置 そして ボタンの大きさを指定します 「CGRectMake」を使って ボタンの位置 そして ボタンの 大きさを指定します ここでは ボタンの位置を 「20,60」の位置 そしてボタンの大きさを 「120×20」pxに設定しました そして ラベルとは異なり ボタンは押すたびに 状態が変わります そのため ボタンの色の設定であるとか ボタンのテキストの設定である といったものは 少しラベルよりも ややこしい設定の メソッドが用意されています ボタンのタイトルは この 「setTitle」「forState」 というメソッドを使います ここでは ボタンに 「Change Color」 色を変えるというテキストを セットしてみます そして この 「forState」と書かれた場所には 「UIControlStateNormal」 というのを指定しておきます この「UIControlStateNormal」を 指定することにより ボタンの基本的な設定を することができます また ボタンに対しては 同時に このタイトルを 表示するための色も 指定しておきましょう 今回は このボタンに対して 「blueColor」を 使用したいと思います そして「UIControlStateNormal」を また同じく使用して この「setTitle」からの 設定を終わります ボタンは押されたときに 色が変わる方が望ましいので 「setTitleColor」 を もう一度使ってください ここには 「UIColor」 「yellowColor」 そして 青から黄色に ボタンが押されたときに 色が変わるようにしておきます そして 「UIControlStateHighlighted」 この定数を使用することにより ボタンが押されたときに 変わる色を指定することができます 以上で ボタンの基本設定は 完了となりますので こちらを「self.view」に 「addSubview」して 画面の上に ボタンを追加します それでは一度実行しておきましょう 「実行」ボタンを押して 動作を確認します すると 「Change Color」と書かれた ボタンが 画面の上に表示されます 「Change Color」を タッチしてみましょう マウスでクリックすると このように タッチしたときには 黄色に変わるボタンが 作成できていることが わかります それでは「Xcode」に戻って 次に このボタンが押されたときに 何かをするメソッドを 追加してみたいと思います ボタンが押されたときに 何かをするためには メソッドが必要になります そこで この「viewDidLoad」の上のところに 「-(void」 と書いて この後ろに 名前はなんでも 構わないのですけれども そうですね ボタンが押されたということを わかりやすく表すために 「buttonPressed」 という名前の メソッドを 一つ用意しておきます そしてここに 「self.view」に対して 「setBackgroundColor」 自分のビューの色が変わる メソッドを呼び出します ここでは背景色を 赤に指定しましょう こうすることにより ボタンが押されたときに 背景色を変更する メソッドを用意できました そして 最後に ボタンが押されたときに この「buttonPressed」のメソッドが 呼び出されるように ボタンの設定を 一行追加します 「button」に対して 「addTarget」 「action」「forControlEvents」 という このメソッドを使って 「addTarget」の後ろに 「self」 そして 「action」と書かれたところに ちょっと長いのですが 「@selector()」と書き ここの中に 「buttonPressed」 さっき作った この「buttonPressed」を 指定しておきます 少しメソッドが長くなりますので 「@Target」の後ろあたりに 一度 「Return」キーを押して 改行を入れておきます 同じく「action」の後ろにも 改行を入れておきましょう そして この 「forControlEvents」のところには ボタンが押されたときに どのタイミングで メソッドが呼び出されるか ということを指定します ここで メソッドがいつ呼び出されるのか ということに対して 指定できる定数が 主に 二つ用意されています 本当は もっといっぱいあるのですけれども この二つを 使うことが多いと思います 一つ目は 「UIControlEventTouchDown」 という定数です この定数は ボタンが押された その瞬間に メソッドが呼び出されるという事を 指定できます それに対して 「UIControlEventTouchUpInside」 これは ボタンがいったん押された後 ボタンの上で指が離された ということを 検知したときに メソッドが呼び出される そういう定数です iPhoneの アプリケーションを作るうえで 一番多いのは この二つ目の 「UIControlEventTouchUpInside」 指が離された瞬間に メソッドが実行される というものになります そこで 今回は この「TouchUpInside」を使ってみましょう 「Xcode」に戻り 「forControlEvents」のところに 「UIControlEvent」 「TouchUpInside」 このように入力します それでは最後に 「;」を入力して この「buttonPressed」 というメソッドが 呼び出されるように設定する このメソッドの呼び出しを 完了します それでは 一度実行してみましょう 「Xcode」の「実行」ボタンを押して シミュレーターを起動します 「Change Color」のボタンを 押してみます 現在 押したままの状態になっていますが この時には何も起こりません そして ボタンから指を離した瞬間に このように背景色が変更されます このことから 先ほど設定した通り 指が 離されたときに 「buttonPressed」のメソッドが 「self」に対して 呼び出されるという事が 設定できていることがわかります このレッスンでは ボタンの作り方と ボタンが作られたときに どのように それに反応するメソッドを 用意するかという事を 説明しました

Objective-C入門

このコースでは初心者の方を対象に、Objective-Cのプログラミングのための知識を基礎からひとつずつ解説していきます。具体的にはXcodeを使ってiPhone用のアプリを作成しながら、オブジェクトの作り方や数値計算の基礎、メソッドやインスタンス変数、条件分岐や剰余計算などについて幅広く学んでいきます。

2時間34分 (41 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
Objective-C Objective-C 2.0
価格: 2,990
発売日:2015年05月27日

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

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

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