2010-11-29 6 views
0

Je sais ce que Content Inset fait, il insérera contentView dans l'UIScrollView. A ce stade, il semble ajouter ces valeurs au sens contentSize je besoin de faire ceci:Comment fonctionne ContentInset dans un ScrollView?

[__scrollView setContentInset:UIEdgeInsetsMake(10.0, 10.0, 10.0, 10.0)]; 
    [__scrollView setContentSize:CGSizeMake(__scrollView.frame.size.width - __scrollView.contentInset.left - __scrollView.contentInset.right, 0.0)]; 

Mais le problème est, après que je l'utilise contentInset, je ne vois plus les indicateurs de défilement? Quelqu'un connaît-il cela?

Répondre

0

Il semble que vous définissez le contentSize du UIScrollView pour qu'il soit plus petit que la taille de la vue de défilement elle-même. Seulement si contentSize est plus grand que le «frame» du scrollview, il y aura des indicateurs de défilement.

+0

J'ai débogué le cadre de l'UIScrollView et le contentSize et c'est le résultat: UIScrollView.frame = {{0, 0}, {320, 367}}; contentSize = {300, 469}; Comme vous pouvez le voir, la taille de contentSize est plus grande que la taille du cadre, bien qu'il puisse défiler jusqu'à la position où il n'affiche pas les indicateurs. – Mark

+0

Intéressant. Je pensais que puisque vous définissez la hauteur à 0.0 dans l'échantillon de code que le contentSize.height serait 0. Si la taille du contenu est plus grande que le cadre, je ne vois pas ce qui pourrait être faux. Mais avez-vous vérifié que '__scrollView.showsHorizontalScrollIndicator' est défini sur YES? –

+0

Oui, je l'ai même mis pour être absolument sûr qu'il le fait. Je vais poster le code complet bientôt car cela arrive chaque fois que je mets le contentInset alors peut-être que les gens peuvent m'aider plus rapidement sur ce que je fais de mal. – Mark

Questions connexes