Quelqu'un peut-il m’expliquer ce que la propriété contentInset dans un `` instance est utilisée pour ? Et peut-être donner un exemple ?
Réponses
Trop de publicités?Il définit la distance de l'encart entre l'affichage du contenu et l'affichage de défilement de la vue.
aScrollView.contentInset = UIEdgeInsetsMake(0, 0, 0, 7.0);
Voici un bon iOS Bibliothèque de Référence de l'article sur le défilement des vues qui a une valeur informative capture d'écran (fig 1-3) - je vais répliquer via le texte ici:
_|←_cW_→_|_↓_
| |
---------------
|content| ↑
↑ |content| contentInset.top
cH |content|
↓ |content| contentInset.bottom
|content| ↓
---------------
_|_______|___
↑
(cH = contentSize.height; cW = contentSize.width)
Le défilement de l'affichage, enferme le contenu de la vue ainsi que le rembourrage est fourni par le contenu des encarts.
Alors que jball réponse est une excellente description des incrustations de contenu, il ne répond pas à la question de savoir quand l'utiliser. Je vais emprunter à partir de ses schémas:
_|←_cW_→_|_↓_
| |
---------------
|content| ↑
↑ |content| contentInset.top
cH |content|
↓ |content| contentInset.bottom
|content| ↓
---------------
|content|
-------------↑-
C'est ce que vous obtenez lorsque vous le faites, mais l'utilité de il ne s'affiche que lorsque vous faites défiler:
_|←_cW_→_|_↓_
|content| ← content is still visible
---------------
|content| ↑
↑ |content| contentInset.top
cH |content|
↓ |content| contentInset.bottom
|content| ↓
---------------
_|_______|___
↑
Que la ligne du haut, du contenu sera toujours visible parce qu'il est toujours à l'intérieur du cadre de défilement de la vue. Une façon de penser le dessus est compensée à "combien de déplacer le contenu vers le bas défilement de la vue lorsque nous sommes défiler tout le chemin vers le haut"
Pour voir un lieu où il est effectivement utilisé, regardez l'accumulation dans l'application Photos sur l'iphone. La barre de Navigation et la barre d'état sont transparentes, et le contenu de défilement de la vue de dessous. C'est parce que le défilement de l'affichage de l'image s'étend aussi loin. Mais si ce n'était pas pour le contenu de l'encart, vous ne serait jamais en mesure de d'avoir le top du contenu est clair que la transparence de la barre de navigation lorsque vous aller tout le chemin vers le haut.
Grande question.
Considérez l’exemple suivant ( `` est un UIScrollView) :
Les incrustations sont le seul moyen de forcer votre molette pour avoir une « fenêtre » sur le contenu où vous le souhaitez. Je suis toujours de jouer avec cet exemple de code, mais l’idée est là : utilisez les cartons pour obtenir une « fenêtre » votre `` .