J'ai créé un UIScrollView
pour l'afficher dans un autre UIViewController
avec un en-tête. Dans mon scrollViewDidScroll()
, j'ai du code qui diminue la hauteur de l'en-tête. Mais quand il fonctionne, tous les éléments (Label) dans l'en-tête changent. Est-il possible de garder leurs dimensions fixes? Correction des éléments UIView pour éviter de changer les dimensions de la fonction "scrollViewDidScroll"
ma fonction scrollViewDidScroll()
est ici:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
var labelAlpha = 4 * scrollView.contentOffset.y/scrollView.frame.height
labelAlpha = max(0, labelAlpha)
labelAlpha = min(1, labelAlpha)
let parent = self.parent as? ScrollParentViewController
var viewScale = 1.0 - 4 * scrollView.contentOffset.y/scrollView.frame.height
viewScale = max(0.5, viewScale)
parent?.redView.transform = CGAffineTransform(scaleX: 1, y: viewScale)
parent?.redView.frame.origin.y = 0
parent?.whiteLabel.alpha = labelAlpha
}
Vous voulez dire que vous devez redimensionner la vue parente et laisser les vues enfants avec une hauteur fixe? – GoCrazy
Oui, en fait je veux transformer une vue sans changer la taille de son enfant. @GoCrazy –
Comment avez-vous créé l'en-tête pour le scrollview? Via storyboard/xib ou par programmation? – zero3nna