これは私の最初の iOS プロジェクトです。XCode アプリケーションの codeschool で iOS を試す のチュートリアルに従っているだけです。
メソッドにボタンを追加しましたviewDidLoad
。これは通常追加される場所ではないと思いますが、それでも機能するはずです。問題は、メソッドが呼び出されないことです。これまでの私のコードは次のとおりです。
AppDelegate.m:
#import "AppDelegate.h"
#import "ViewController.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Set window size & background color
CGRect viewRect = [[UIScreen mainScreen] bounds];
self.window = [[UIWindow alloc] initWithFrame:viewRect];
self.viewController = [[ViewController alloc] init];
UIView *view = [[UIView alloc] initWithFrame:viewRect];
view.backgroundColor = [UIColor yellowColor];
self.viewController.view = view;
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
NSLog(@"Screen is %f tall and %f wide", viewRect.size.height, viewRect.size.width);
return YES;
}...
AppDelegate.h:
#import <UIKit/UIKit.h>
@class ViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) ViewController *viewController;
@end
ViewController.m:
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor blueColor];
UIButton *firstButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
firstButton.frame = CGRectMake(100, 100, 100, 44);
[firstButton setTitle:@"Don't Click!" forState:UIControlStateNormal];
[self.view addSubview:firstButton];
}...
アプリが起動して実行されているとき、私の背景は黄色のままで、ボタンは表示されません。
アプリケーションをステップ実行すると、didFinishLaunchingWithOptions:
期待どおりにヒットします。ビューが初期化されると、viewDidLoad が実行されることが期待されます。Cが「メッセージを送信する」方法を誤解しているだけかもしれません。
追加情報が役立つ場合は、お知らせください。助けてくれてありがとう:)
編集
これはストーリーボードと関係がありますか?絵コンテモードですが、GUI を使用してボタンを追加したことはありません