こんばんは
タイトル通り、今日は少し後戻りをしました。
プログラムを始める人が最初に挑戦するであろう
Hello World!
ボタンを押して、「Hello World!」から「こんにちは」に変換するアプリに挑戦しました。
ストーリーボード無しで ( ̄ー☆
ということですので、Xcodeでプロジェクトを作成するときに
Use Storyboards
のチェックをはずしてやりました (`(エ)´)ノ_彡
ストーリボードが無い画面に不安を覚えつつも、サンプルコードを参照しながらプログラムしましたた。
それがこれ(.h等一部省略しています)
myLabel = [[UILabel alloc]initWithFrame:CGRectMake(60.0,100.0,200.0,50.0)];
myLabel.font = [UIFont fontWithName:@"HirakakuProN-W6" size:18];
myLabel.textColor = [UIColor blackColor];
myLabel.text = @"Hello World!";
myLabel.textAlignment = UITextAlignmentCenter;
myLabel.backgroundColor = [UIColor clearColor];
myLabel.shadowColor = [UIColor grayColor];
myLabel.shadowOffset = CGSizeMake(1.0,1.0);
[self.view addSubview:myLabel];
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.frame = CGRectMake(60.0,200.0,200.0,50.0);
[myButton setTitle:@"hello" forState:UIControlStateNormal];
[myButton addTarget:self action:@selector(action) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:myButton];
}
- (void)action{
myLabel.text = @"こんにちは";
}
長い・・・(゚_゚i)
画面が立ち上がったときは「Hello World」を表示させ、ボタンを押したら「こんにちは」に変換します。
こんなに書いてコレだけ?!
あと、文字に陰をつけてみました(サンプルのパクリです)。
問題なく動いたのですが、上から5行目の「UITextAlignmentCenter」には黄色い色がついて、なんかエラーっぽい表示になります。iOS6.0では推奨されていないような感じでした。
知らんわい(  ̄っ ̄)
まぁ、動いているのでそれは良しとして・・・
ストーリーボードを使っていたときとプログラムに違いがありました。
ボタンを押した時に「こんにちは」と表示するプログラム・・・
myLabel.text = @"こんにちは";
は、ストーリーボードを使っていたときは
self.myLabel.text = @"こんにちは";
と書いていました。
ところが、今回は「self.」を書いてしまうとコンパイルさえ通りません。
そう言えば「絵合わせアプリ」でボタンをプログラムしたときもそんな感じでした。
いっしょでええやん ( ̄ー ̄;
ボタンを押したときのアクションの書き方も・・・
[myButton addTarget:self action:@selector(action) forControlEvents:UIControlEventTouchUpInside];
- (void)action{・・・}
ストーリボードを使った場合は、ドラッグアンドドロップでボタンとプログラムをひもづけて
-(void)myButton:(id)sender{}//しかも自動で記述される
いとをかし・・・
昨日大口を叩いたものの、この便利さは捨てがたいですね。
臨機応変ってことで・・・(^_^;)