Modifier la hauteur de UIView avec l'auto-mise hors tension désactivée
Hors tension automatique de mise en page pour l'afficher. Toutefois, cela ne fonctionne pas. Je n'ai pas de restrictions concernant la hauteur. Seule la largeur que l'égalité parent vue sur la largeur.
@IBOutlet weak var questionTextView: UITextView!
override func viewDidLoad() {
var newFrame = CGRectMake(0, 0, 300, 202)
questionView.frame = newFrame
}
source d'informationauteur Philip
Vous devez vous connecter pour publier un commentaire.
Avez-vous de désactiver automatiquement la mise en page pour l'ensemble de la plume dans interface builder?
Vous ne pouvez pas désactiver la mise en page automatique pour des sous-vues dans interface builder - vous ne pouvez le faire qu'au moment de l'exécution d'un programme.
Basé sur ce que vous avez dit, vous avez encore une contrainte active. Comment avez-vous des contraintes lorsque vous avez désactivé automatique de la mise en page déjà?
Si vous avez d'auto mise en page active, réglage de la hauteur de votre point de vue en utilisant le cadre ne fonctionne pas, puisqu'il sera en conflit avec mise en page automatique des règles.
Si vous avez besoin de modifier la hauteur de vue avec mise en page automatique est actif, vous aurez besoin de créer un
IBOutlet
pour votre hauteur de contrainte et de le modifier au moment de l'exécution, c'est à dire:[édité]
ps. Que l'on a accepté la réponse dit:
If you have auto layout active, setting the height for your view by using the frame won't work since it'll conflict with auto layout rules
. Cette paix des changements de code de l'image, donc si vous essayez d'utiliser ce code avec Mise en page Automatique, ça ne marchera pas.[réponse originale à cette question]
Vous pouvez également créer une UIView Extension:
UIViewExtensions.swift :
J'ai aussi ajouté des méthodes pour le réglage de la largeur, X et Y. Vous pouvez utiliser cette extension dans toutes les vues que vous voulez:
Essayer quelque chose comme cela:
Dans votre cas de changement de point de vue avec vue parent.
Vous avez juste besoin de mettre en œuvre translatesAutoresizingMaskIntoConstraints, et par la valeur true, vous pouvez écrire vos contraintes grâce à code sans avoir à faire d'autres choses.
Exemple: la vue.translatesAutoresizingMaskIntoConstraints = true
//Ce code fonctionnera