解决UIScrollView中添加子控件出现“UIScrollView Scrollable Content Size Ambiguity”的办法

来自StackOverflow的帖子,原文见这里

So I just sorted out in this way:

  1. Add in the UIScrollView a UIView (we can call that contentView);

  2. In this contentViewset top, bottom, left and right margins to 0 (of course from the scrollView which is the superView); Set also align center horizontally and vertically;

Finished.

Now you can add all your views in that contentView, and the contentSize of the scrollView will be automatically resized according with the contentView.

Update:

Some special case is covered by this video posted by @Sergio in the comments below.

shareimprove this answer
39  
This is brilliant! Center X and Y was the key piece! – black_stallion Mar 23 '15 at 7:13
14  
Almost perfect, except that the scrollview can no longer guess the length of your content and resize accordingly it's contentSize to fit the objects inside. I have a tableview inside the contentView whose height changes (via constraint) and the scrollview doesn't allow me to scroll. – CyberMew May 11 '15 at 7:13
9  
Maybe this video can help to overcome all remaining issues. – Sergio Jul 11 '15 at 18:57
4  
this doesnt make it scroll tho. – dorian Aug 6 '15 at 12:46
1  
@Matteo Gobbi: What do you mean by "(of course from the scrollView which is the superView)" ? Do I have to "set top, bottom, left and right margins to 0" for the contentView or the scrollView ? – salocinx Sep 1 '15 at 8:30
原文地址:https://www.cnblogs.com/emmet7life/p/5254141.html