human
Quelqu'un peut-il m'expliquer à quoi sert la propriété ```contentInset``` dans une instance de ```UIScrollView``` ? Et peut-être fournir un exemple
gpt
Bien que la réponse de jball soit une excellente description des marges de contenu, elle ne répond pas à la question de quand l'utiliser. Je vais emprunter ses diagrammes :
```  _|←_cW_→_|_↓_
   |       |
---------------
   |content| ↑
 ↑ |content| contentInset.top
cH |content|
 ↓ |content| contentInset.bottom
   |content| ↓
---------------
   |content|
-------------↑-
```
C'est ce que vous obtenez lorsque vous le faites, mais son utilité ne se manifeste que lorsque vous faites défiler :
```  _|←_cW_→_|_↓_
   |content| ← le contenu est toujours visible
---------------
   |content| ↑
 ↑ |content| contentInset.top
cH |content|
 ↓ |content| contentInset.bottom
   |content| ↓
---------------
  _|_______|___
             ↑
```
Cette rangée supérieure de contenu sera toujours visible car elle se trouve toujours à l'intérieur du cadre de la vue déroulante. Une façon de penser au décalage supérieur est "combien décaler le contenu vers le bas de la vue déroulante lorsque nous sommes complètement en haut".
Pour voir un endroit où cela est réellement utilisé, regardez l'application Photos intégrée sur l'iPhone. La barre de navigation et la barre d'état sont transparentes et le contenu de la vue déroulante est visible en dessous. C'est parce que le cadre de la vue déroulante s'étend jusqu'à cet endroit. Mais sans la marge de contenu, vous ne pourriez jamais avoir le haut du contenu dégagé de cette barre de navigation transparente lorsque vous êtes tout en haut.