On Jan 19, 2018, at 04:28 , Jeremy Hughes <moon.rab...@virginmedia.com> wrote: > > Summarising: it seems that to get a vertically scrolling view that works as > expected, the content view must be set to be flipped (no way of doing this in > IB) and the flexible-height arrow must be turned off. The top-margin line can > also be turned off, but it actually makes no difference if it is on or off. > > Does anyone have a way to make sense of this or is it just inherently > confusing?
In general, you should *not* use autoresizing masks on the document view, precisely because the point of a scroll view is that the document view’s size is *unrelated* to the size of the piece of window real estate (the clip view) in which it is displayed. This is made worse if you also use autoresizing masks to pin the document view’s edges to the clip view, because the point of scrolling is to change the position of the document view origin relative to the clip view origin. Pinning the origin just conflicts with that. IOW, you should set the size of the document view absolutely, either one time initially or whenever the size needed to encompass the contents changes. You may or may not need to set the position of the document view relative to the clip view initially or whenever the document view size changes, depending on whether the default behavior is what you want. All of that is true for using auto-layout constraints, too. However, in the case of a view like a text view which (for horizontal writing systems) can wrap its contents to a fixed width, it’s common to pin the left/right edges of the document view to the left/right edges of the clip view. (In terms of the autoresizing control, that means turning on the outer arrows on the left and right sides, and turning off the inner horizontal arrow.) In that case, there is never any actual horizontal scrolling, because the two views are the same width. So: 1. Don’t pin any of the edges of the document view to the clip view, except when you want the widths to match. 2. Set the height of the document view manually to the size that encompasses all of its scrollable content. You can do this one time in IB, one time in code, or whenever the needed size changes, depending on how your app works. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com