What's the UIScrollView contentInset property for?

前端 未结 5 1612
情话喂你
情话喂你 2020-11-29 15:10

Can someone explain to me what the contentInset property in a UIScrollView instance is used for? And maybe provide an example?

5条回答
  •  囚心锁ツ
    2020-11-29 15:37

    Content insets solve the problem of having content that goes underneath other parts of the User Interface and yet still remains reachable using scroll bars. In other words, the purpose of the Content Inset is to make the interaction area smaller than its actual area.

    Consider the case where we have three logical areas of the screen:

    TOP BUTTONS
    
    TEXT
    
    BOTTOM TAB BAR
    

    and we want the TEXT to never appear transparently underneath the TOP BUTTONS, but we want the Text to appear underneath the BOTTOM TAB BAR and yet still allow scrolling so we could update the text sitting transparently under the BOTTOM TAB BAR.

    Then we would set the top origin to be below the TOP BUTTONS, and the height to include the bottom of BOTTOM TAB BAR. To gain access to the Text sitting underneath the BOTTOM TAB BAR content we would set the bottom inset to be the height of the BOTTOM TAB BAR.

    Without the inset, the scroller would not let you scroll up the content enough to type into it. With the inset, it is as if the content had extra "BLANK CONTENT" the size of the content inset. Blank text has been "inset" into the real "content" -- that's how I remember the concept.

提交回复
热议问题