0

Xcode(ビューベース)で新しいプロジェクトを作成し、プログラムでこのようなボタンを作成しようとしましたが、表示されません。なぜだめですか?

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after app launch    
    [window addSubview:viewController.view];

    CGRect rect = CGRectMake(0, 20,100,20);
    UIButton *button = [[UIButton alloc] initWithFrame:rect];

    [viewController.view addSubview:button];

    [window makeKeyAndVisible];
}
4

4 に答える 4

2

アプリケーションデリゲートを使用してビューを設定するのではなく、最初のルートビューをロードすることをお勧めします。したがって、appDelegateのapplicationDidFinishLaunchingを次のように変更します。

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after app launch    
    [window addSubview:viewController.view];

    [window makeKeyAndVisible];
}

そして、それが呼び出すビューに移動し、このコードをパンチインすると、UIButtonが作成されます。このビューを確実にロードするために、背景色の変更も追加しました。

- (void)loadView {
    self.view = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,480)];
    self.view.backgroundColor = [UIColor redColor];

    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 20, 100, 20)];
    [button setTitle:@"UIButton!" forState:UIControlStateNormal];
    [button setReversesTitleShadowWhenHighlighted:YES];
    [button setShowsTouchWhenHighlighted:YES];

    [self.view addSubview:button];
    [button release];
}

私はdrawRectをオーバーライドできるので、通常はプログラムでビューを構築することを好みます。これはInterfaceBuilderafaik内では実行できません。

于 2009-08-17T15:06:43.593 に答える
1

[UIButton buttonWithType: UIButtonTypeCustom]またはでボタンを作成してみてください[UIButton buttonWithType: UIButtonTypeRoundedRect]

私はそれらがずっとうまくいくと思います。それらは確かにはるかに自己文書化されています。

于 2009-08-17T15:55:58.720 に答える
0

本当に表示されていませんか?ボタンの背景色を何かに設定してみてください...

于 2009-08-17T14:21:24.647 に答える
-5

そうしないでください。インターフェイス ビルダーを使用します。

于 2009-08-17T14:20:48.190 に答える