Xcode4.2を使っての、Hello World(storyboard?Interface Builderを使わない版)
InterfaceBuilderのあまりの出来に、IB死ね死ね教団に入られた方に作ってもらったものです。
先日のと同じですが、resetボタンを増やしてみました。
コメントは私が付けたものです。あくまでも初心者の私の理解であって正しいことは保証されておりません。
#import <UIKit/UIKit.h> @interface ViewController : UIViewController { UILabel *label1; NSString* _text; } @end
ViewController.hに2行追加。
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //labelにはっつけるdefaultのテキスト _text = @"ここに表示"; //label1のメモリを確保して、出現位置を指定して初期化 label1 = [[UILabel alloc] initWithFrame:CGRectMake(120, 10, 300, 40)]; //label1のテキストを設定 [label1 setText:_text]; //label1というUIViewをはっつけて、表示 [[self view] addSubview:label1]; //button1というボタンの形を指定。四角(Rect)で周りが丸いの(Rounded) UIButton* button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; //button1の場所を指定 button1.frame = CGRectMake(80, 230, 80, 40); //button1に載せるテキストを指定。button1が通常時(UIControlStateNormal)を指定 [button1 setTitle:@"押してね" forState:UIControlStateNormal]; //ボタンが押された時の処理。ボタンが押して放されたら(TouchUpInside)、pushを呼べ。 [button1 addTarget:self action:@selector(push:) forControlEvents:UIControlEventTouchUpInside]; // UIButton* button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button2.frame = CGRectMake(170, 230, 80, 40); [button2 setTitle:@"reset" forState:UIControlStateNormal]; //button2が押されたらresetを呼べ [button2 addTarget:self action:@selector(reset:) forControlEvents:UIControlEventTouchUpInside]; //二つのボタンというUIViewをはる [[self view] addSubview:button1]; [[self view] addSubview:button2]; }
ViewController.mの- (void) viewDidLoad部分に上記のように追加。
またその下あたりにでもボタンを押したときの関数を追加
- push:(id)sender { //呼ばれたらlabel1のテキストをHello Worldにしてしまおう。 [label1 setText:@"Hello World!"]; return self; } - reset:(id)sender { //呼ばれたらlabel1のテキストをdefaultにしてしまおう。 [label1 setText:_text]; return self; }