Comment Changer UIButton titre?
MyViewController a un UIButton et un autre MainViewController utilisation MyViewController.
mais MainViewController ne peut pas changer UIButton titre dans MyViewController.
aussi, dans MyViewController seul changement UIButton titre dans la méthode viewDidLoad.
Quel est le problème?
MyViewController
@interface MyViewcontroller : UIViewController {
IBOutlet UIButton *imageButton;
}
@property (nonatomic, retain) UIButton *imageButton;
@implementation MyViewcontroller : UIViewController {
@synthesize imageButton;
- (void)viewDidLoad { //can change button title
[imageButton setTitle:@"buttonTitle" forState:UIControlStateNormal]
}
- (void)setButtonTitle { //can't change button title
[imageButton setTitle:@"buttonTitle" forState:UIControlStateNormal];
}
}
MainViewController
@implementation MainViewController : UIViewController {
@synthesize scrollView;
- (void)viewDidLoad { //can't change button title
MyViewcontroller *myView = [[MyViewcontroller alloc] initWithNibName:@"MyViewcontroller" bundle:nil];
[myView.imageButton setTitle:@"ddd" forState:UIControlStateNormal];
[scrollView addSubview:myView.view];
[myView release], myView = nil;
}
}
OriginalL'auteur seapy | 2010-10-10
Vous devez vous connecter pour publier un commentaire.
Cela se produit parce que les points de vente ne pas obtenir filaire jusqu'à ce que après le point de vue est chargé, et la vue n'est pas chargé jusqu'à ce que après il est appelé pour la première fois (lazy loading). Vous pouvez résoudre ce problème très facilement simplement en vous assurant que vous chargez toujours le point de vue d'abord. Cependant, vous pourriez vouloir reconsidérer votre conception et de rendre le titre du bouton dépend de quelque autre élément qui ne fait pas partie de la vue de la hiérarchie.
Par exemple, si vous changez l'ordre des appels, il va travailler:
J'ai manqué de bits, on dirait que j'ai beaucoup de choses à apprendre +1
J'ai eu des soucis avec la mise en texte sur mon bouton, parce que j'ai été en utilisant
setImage
au lieu desetBackgroundImage
. Si vous utilisezsetImage
il couvrira votre texte.OriginalL'auteur Jason Coco