Ich habe eine UIScrollView gemacht und es wird horizontal gescrollt.Womit wird UIView auf die Standardgröße zurückgesetzt, wenn der UIScrollView, der es enthält, gescrollt wird?
Innerhalb der UIScrollView enthält eine UIView ein UILabel, um einen Text und eine UIButton anzuzeigen, um die Ansicht auszublenden.
Die Breite der Ansicht ändert sich, wenn der Text in der Beschriftung vom Benutzer geändert wird, während die Schaltfläche ihre Größe behält.
Ich möchte, dass der UIView seine Größe behält, wenn der UIScrollView nach links und rechts gescrollt wird. Die UIView wird jedoch beim Scrollen wieder auf die ursprüngliche Größe zurückgesetzt.
Das Bild unten zeigt, was das Storyboard eingerichtet ist; Zwei Rechtecke sind UIViews und UILabels in jedem haben standardmäßig den Text "Label". Ein Buchstabe X ist eine Schaltfläche. Der horizontale Bereich, der diese beiden enthält, ist UIScrollView.
Die nächste ist die Szene, die ich die App im Simulator laufen. Ich habe die Grenzen dieser UIViews programmgesteuert geändert. Diese Texte werden aus dem Menü ausgewählt, das ich erstellt habe, und die Breite von UIViews wird geändert, wenn sich die Breite von UILabels ändert. Ignoriere, warum beide Labels denselben Text haben; Ich habe die zweite Ansicht nicht behandelt. Der Fall ist derselbe auch mit nur einer UIView.
Als ich die UIScrollView nach rechts bewegen, tritt das Problem auf. Die Breiten dieser UIViews werden wie im Storyboard festgelegt zurückgesetzt.
theh Funktion unten aufgerufen wird, wenn das Menü ausgewählt wird. Entschuldigung für diese friggin seltsamen Variablennamen
//selectedTextPrim, selectedTextSecn: String()
//result1Text, result2Text: UILabel
//result1, result2: UIView
//result1XBtn, result2XBtn: UIButton
func processAddResult(){
result1Text.text = selectedTextPrim + " > " + selectedTextSecn
result1Text.sizeToFit()
result1.frame.size.width = result1Text.frame.size.width + 24
result1XBtn.frame.origin.x = result1Text.frame.maxX
result2.frame.origin.x = result1.frame.maxX + 8
result2Text.text = selectedTextPrim + " > " + selectedTextSecn
result2Text.sizeToFit()
result2.frame.size.width = result2Text.frame.size.width + 24
result2XBtn.frame.origin.x = result2Text.frame.maxX
// print("\(result1Text.frame.size.height)")
}
Muss der Code geändert werden? Oder gibt es eine Möglichkeit, dies zu verwalten, indem irgendwo Code hinzugefügt wird?