Mieux que vous n'utilisez pas le délégué de l'application pour configurer votre vue, il suffit de charger votre première vue racine. Donc, changer applicationDidFinishLaunching du appDelegate: retour à
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after app launch
[window addSubview:viewController.view];
[window makeKeyAndVisible];
}
Et dans ta vue qu'il appelle et de punch dans ce code, qui va créer votre UIButton pour vous. J'ai également ajouté le changement de la couleur de fond pour m'assurer que vous chargiez cette vue.
- (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];
}
En général, je préfère construire programatically mon point de vue que je peux passer outre drawRect: que vous ne pouvez pas faire à l'intérieur InterfaceBuilder afaik.
Les cotes de baisse sont un peu sévères, mais je suis d'accord que ce n'est pas une bonne réponse. Je trouve l'Interface Builder beaucoup trop maladroit pour une personnalisation importante. C'est plus de problèmes que ça en vaut la peine. – Amagrammer