第16回 Index
UITextField:テキストの入力
①IBで設定できること
②実践
③課題
④ワンポイントアドバイス
UITextFieldとは

https://matome.naver.jp/odai/2131760377432731401/2131769046533736103
webページのテキストボックスと同等だと思われます。テキストフィールドをタップすると、キーボードが出てきます。
ユーザーに文字を入力させたいときに使う。
IBでできること

https://matome.naver.jp/odai/2131760377432731401/2131765109333441303
横にどれくらいなのか数値も表示されます。

https://matome.naver.jp/odai/2131760377432731401/2131765124133443103
Placeholderはテキスト入力する前に出ている薄い文字を設定できるところです。

https://matome.naver.jp/odai/2131760377432731401/2131765109233441003

https://matome.naver.jp/odai/2131760377432731401/2131765109333441103
Hideo MIzuno@osanpo

https://matome.naver.jp/odai/2131760377432731401/2131765207133452403
なんでだろう。
たか@tibimini
実践
それでは実際に、「文字を入力すると、その文字を表示する」プログラムを書いてみましょう
IBでテキストフィールドとラベルをレイアウトして、Xcodeで「テキストが入力されたらラベルに文字を設定する」プログラムを書きます

https://matome.naver.jp/odai/2131760377432731401/2131763722733238203
UILabelのmylabelという変数を作る。
お馴染ですね。
今回はプラスして、UITextFieldのmytextfieldという変数も作ります。IBActionを使って、IBで用意した部品をユーザーが操作したときに呼び出すメソッド名を作ります。
このあたりもお馴染になってきました。

https://matome.naver.jp/odai/2131760377432731401/2131764124633275603
@interface ~~~ {
IBOutlet UILabel *mylabel;
//@interface{ }の中に書きます
//mylabelという変数をつくりました
IBOutlet UITextField *mytextfield;
//mytextfieldという変数をつくりました
}
-(IBAction)inputText;
//interface{ }の後ろに書きます
//IBでつくった部品をユーザーが操作したときに呼び出すメソッド名
@end

https://matome.naver.jp/odai/2131760377432731401/2131763893733256803
https://matome.eternalcollegest.com/post-2131703398027843201/2131709517128284703「IBAction」もこちらの項目を参考に接続。
https://matome.eternalcollegest.com/post-2131703398027843201/2131709580328299603
今回は、「DidEndOnExit」を選びます。
それぞれ保存は忘れずに。
IBはラベルとボタンを置いた後に一度閉じると、ちゃんとXcodeと同期してくれます。

https://matome.naver.jp/odai/2131760377432731401/2131764005633266903

https://matome.naver.jp/odai/2131760377432731401/2131764914433409503
@implementation
-(IBAction) inputText {
mylabel.text = mytextfield.text;
}
//@implementationの後ろに書きます
//IBでtapBtnに接続されている部品のアクションが実行されたら、mylabelにmytextfieldの文字を反映させる

https://matome.naver.jp/odai/2131760377432731401/2131764144333281303

https://matome.naver.jp/odai/2131760377432731401/2131764152033282203
たこ☆すけ@takosuke_1
よーすけ@yosuke_04
番組終了後の課題 そのいち
osanpo: ラベルの一がわかりやすいように背景色を変えてみては?
注) 「一」は「位置」の誤り

https://matome.naver.jp/odai/2131760377432731401/2131764674533388103

https://matome.naver.jp/odai/2131760377432731401/2131764908933407803
《コード》
-(void) viewDidLoad {
[super viewDidLoad];
mylabel.backgroundColor = [UIColor yellowColor];
//mylabelの背景を黄色に設定します
}

https://matome.naver.jp/odai/2131760377432731401/2131764870333403703
番組終了後の課題 そのに
yosuke_04: ラベルに表示される文字を大きくするとかは出来ないんですか?

https://matome.naver.jp/odai/2131760377432731401/2131764881733405703

https://matome.naver.jp/odai/2131760377432731401/2131764911433408003
《コード》
-(void) viewDidLoad {
[super viewDidLoad];
mylabel.font = [UIFont systemFontOfSize: 30];
//mylabelのフォントサイズを30にします
}

https://matome.naver.jp/odai/2131760377432731401/2131764917933410203
ほかのものより大きくなっているのわかりますでしょうか。
番組終了後の課題 そのさん
ksorano: テキスト消去ボタンのOn/Offを設定をみっつめの課題にします

https://matome.naver.jp/odai/2131760377432731401/2131764947133415003

https://matome.naver.jp/odai/2131760377432731401/2131764952733416103
《コード》
-(void) viewDidLoad {
[super viewDidLoad];
mytextfield.clearButtonMode = UITextFieldViewModeWhileEditing;
//mytextfieldのクリアボタンをフォーカスが当たっている時のみ表示します
}

https://matome.naver.jp/odai/2131760377432731401/2131765034833430003
これができたときがいちばん感動しました。
ワンポイントアドバイス
Hideo MIzuno@osanpo

https://matome.naver.jp/odai/2131760377432731401/2131765239733459203

https://matome.naver.jp/odai/2131760377432731401/2131765239833459303
編集後記
ちょっとずつ進んでます
番組中にある程度の手順を理解して、まとめをつくるときの課題を設定するのはいい勉強法かも知れない
まだ、「教科書の通り」や「例題のまんま」というのは抜けないけれども、ほんの少しずつ頭の回転ははやくなっているのではないだろうか
そらのプロフィール

https://matome.naver.jp/odai/2131760377432731401/2131760401632734203
(株)ソラノート 広報です。
プログラミングは未経験です。




プログラミング初心者だけど、iPhoneアプリを作ってみたい。
本書はそういう人のための、基本からしっかりマスターできる、iPhoneアプリ開発の入門書です。iPhoneアプリの開発ソフトには「Interface Builder」というわかりやすいツールが用意されています。これを使うと、iPhoneアプリを「見たままにデザインをして」作っていくことができます。本書では、この「Interface Builder」の使い方を中心に、iPhoneアプリの開発の方法を説明していきます。
amazon:http://amzn.to/tscoXf
(番組内ではXcode3対応版を使用しております。)