J'ai un UIScrollView sur lequel j'applique un fond noir, qui se fond dans la barre de défilement. J'ai cherché un moyen de changer la couleur des barres de défilement en blanc, mais je ne peux pas le comprendre. Y a-t-il une bonne façon de faire cela?Couleur de défilement UIScrollView?
15
A
Répondre
27
Vous pouvez utiliser "indicatorStyle" propriété:
[scrollView1 setBackgroundColor:[UIColor blackColor]];
scrollView1.indicatorStyle = UIScrollViewIndicatorStyleWhite;
2
Les deux indicateurs sont UIScrollView sous vue de UIScrollView. Ainsi, nous pouvons accéder à la sous-vue de UIScrollView et modifier la propriété de subview.
1 .Add UIScrollViewDelegate
@interface ViewController : UIViewController<UIScrollViewDelegate>
@end
2. Ajouter scrollViewDidScroll dans la section de mise en œuvre
-(void)scrollViewDidScroll:(UIScrollView *)scrollView1
{
//get refrence of vertical indicator
UIImageView *verticalIndicator = ((UIImageView *)[scrollView.subviews objectAtIndex:(scrollView.subviews.count-1)]);
//set color to vertical indicator
[verticalIndicator setBackgroundColor:[UIColor redColor]];
//get refrence of horizontal indicator
UIImageView *horizontalIndicator = ((UIImageView *)[scrollView.subviews objectAtIndex:(scrollView.subviews.count-2)]);
//set color to horizontal indicator
[horizontalIndicator setBackgroundColor:[UIColor blueColor]];
}
Note: - Parce que ces indicateurs mise à jour chaque fois que vous faites défiler (signifie réinitialiser à la valeur par défaut). SO, nous mettons ce code dans scrollViewDidScroll méthode de délégué.
0
//ScrollView Deleagate
func scrollViewDidScroll(scrollView: UIScrollView){
let verticalIndicator: UIImageView = (scrollView.subviews[(scrollView.subviews.count - 1)] as! UIImageView)
verticalIndicator.backgroundColor = UIColor.redColor()
let horizontalIndicator: UIImageView = (scrollView.subviews[(scrollView.subviews.count - 2)] as! UIImageView)
horizontalIndicator.backgroundColor = UIColor.blueColor()
}
Questions connexes
- 1. Détection de défilement UIScrollView
- 2. Synchronisation du défilement UIScrollView
- 3. iPhone UIScrollView, ralentir le défilement
- 4. Défilement par programme d'un UIScrollView
- 5. UIScrollView: défilement ne fonctionne pas
- 6. Comment limiter la largeur de défilement UIScrollView?
- 7. Comment créer un UIScrollView de défilement infini?
- 8. UIScrollView - détecter seconde touche pendant le défilement
- 9. UIScrollView redessiner le contenu lors du défilement?
- 10. Le défilement UIScrollView n'est pas correct
- 11. UIScrollView dans UIScrollView
- 12. Définition de la quantité de défilement avec UIScrollView et PageControl
- 13. UIScrollView sur la méthode de mise à jour par défilement
- 14. Comment puis-je définir la position de défilement d'un UIScrollView?
- 15. iPhone SDK: Gardez une image de défilement avec un UIScrollView
- 16. UITextView à l'intérieur du problème de défilement UIScrollView
- 17. iPhone UIScrollView - Comment animer le défilement avec un contenu stable?
- 18. changer la couleur de la barre de défilement?
- 19. Comment changer la couleur de la barre de défilement tinymce?
- 20. iPhone + UIScrollView
- 21. Délégué de UIScrollView/Subviews
- 22. Déplacement UIScrollView
- 23. Comment changer la couleur des barres de défilement
- 24. autoscrolling pour UIScrollView
- 25. Suppression des vues de UIScrollView
- 26. UITableView/UIScrollView scrollToItemAtIndex
- 27. UIScrollView se déplace seul
- 28. UIScrollView question d'échelle minimum
- 29. Comment enregistrer l'état de UIScrollView?
- 30. UIView se retirer de UIScrollView
Je peux _never_ rappelez-vous ce nom de la propriété. Tout le reste s'appelle scrollIndicatorSomething excepté celui-ci. Même la saisie semi-automatique ne peut pas me sauver d'une telle propriété mal nommée. – Echelon
Vous pouvez définir la couleur de l'indicateur scrollView, pour tous les UIScrollViews du projet, avec ceci: [[UIScrollView appearance] setIndicatorStyle: UIScrollViewIndicatorStyleWhite]; –
UIScrollView.appearance(). IndicatorStyle = UIScrollViewIndicatorStyle.White – johndpope