1

現在、Xcode が提供する単一のビュー テンプレートを使用してインターフェイスをハード コーディングする方法を実際にテストしようとしています。

AppDelegate.h に ivar と UILabel *titleLabel; のプロパティを指定しました。私の AppDelegate.m コードは -(void) で宣言され、起動が終了しました:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after application launch.

    // Set the view controller as the window's root view controller and display.
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];

    return YES;

    UIButton *button                  = [UIButton buttonWithType: UIButtonTypeRoundedRect];
    button.titleLabel.font            = [UIFont systemFontOfSize: 12];
    button.titleLabel.lineBreakMode   = UILineBreakModeTailTruncation;
    button.titleLabel.shadowOffset    = CGSizeMake (1.0, 0.0);


    [self.window addSubview: button];

}

コンパイルは成功しましたが、画面にボタンが表示されません。シミュレーターで標準の空のテンプレートが実行されているだけです。どうすれば描けるようになりますか?

4

1 に答える 1

1

ウィンドウが初期化されていないようで、関数の戻りが早すぎます。これを試して:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after application launch.
    self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
    // Set the view controller as the window's root view controller and display.
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];

    UIButton *button                  = [UIButton buttonWithType: UIButtonTypeRoundedRect];
button.titleLabel.font            = [UIFont systemFontOfSize: 12];
button.titleLabel.lineBreakMode   = UILineBreakModeTailTruncation;
button.titleLabel.shadowOffset    = CGSizeMake (1.0, 0.0);


[self.window addSubview: button];
return YES;
}

関数はreturnすぐに終了し、その下のコードは実行されないことに注意してください。

于 2012-08-13T04:37:51.433 に答える