11
votes

Comment définir la taille Nsview Programmatiquement?

Comment définissez-vous la taille de Nsview programmiquement par exemple xxx

la configuration de la taille dans la nib (de Mac OSX) fonctionne correctement, mais je veux le faire en code.


0 commentaires

3 Réponses :


8
votes

Utilisez la méthode -SetFase: ou -SetFrame:


1 commentaires

Bonne réponse. La modification directe de la propriété de cadre semble ne pas fonctionner au moins dans Swift.



19
votes

Lorsque vous appelez Self.frame, il renvoie les données dans le cadre et non un pointeur. Par conséquent, toute modification du résultat n'est pas reflétée dans la vue. Afin de modifier la vue, vous devez définir le nouveau cadre après avoir modifié:

- (void)awakeFromNib {
    NSRect f = self.frame;
    f.size.width = 1280;
    f.size.height = 800;
    self.frame = f;
    //...
}


1 commentaires

Merci beaucoup. J'avais perdu la volonté de vivre. Maintenant non seulement quelque chose a commencé à se produire, mais je découvre que c'est la mauvaise question - la réponse à laquelle est ci-dessous.



4
votes

Pour configurer par programme la taille de l'application (c'est ce que je voulais faire), vous devez le faire: -

- (void)awakeFromNib {
    ...
    NSWindow* w = [self window];
    NSRect f;
    f.size.width  = 1280;
    f.size.height = 800;
    [w setFrame:f display:YES];
}


0 commentaires