为啥有时滚动视图和子视图大小不一致
Posted
技术标签:
【中文标题】为啥有时滚动视图和子视图大小不一致【英文标题】:why Scrollview and child view size is inconsistent sometimes为什么有时滚动视图和子视图大小不一致 【发布时间】:2018-02-19 00:49:33 【问题描述】:我有一个滚动视图和一个子视图。
子视图大小根据其内容动态增加。
我正在通过约束以编程方式更改子视图高度,同时我正在增加滚动视图内容大小。所以scrolllview我可以滚动查看完整的子视图。
例如,如果我将子视图设置为 320 像素 .. 我可以看到子视图大小已超过 320 像素 .. 有时它像 500 像素(滚动视图内容大小和子视图高度)或其他东西...有时它是我设置的 320 像素。
这对我来说似乎很荒谬
这与 xamarin.ios 有关吗?还是我做错了什么?
我正在更改...上的视图高度
Viewwilllayoutsubview 并且在调用之前我正在更改视图高度 this.View.LayoutIfNeeded
谁能解释一下我做错了什么?
【问题讨论】:
能否分享相关代码? 【参考方案1】:UIScrollView 必须填充视图,我为 UIScrollView 的约束添加了图像
和你现在一样,如果子视图的高度比 UIScrollView 长,则开始滚动但是
-
内部 Childview 的约束应该是这样的。 (如你所说,高度可以动态增加)
-
在您的 ViewController 中,您应该对 UIScrollView 执行 ping 操作并更新其内容大小。
public override void ViewDidLayoutSubviews() base.ViewDidLayoutSubviews(); ScrlView.ContentSize = VwContent.Frame.Size;
【讨论】:
以上是关于为啥有时滚动视图和子视图大小不一致的主要内容,如果未能解决你的问题,请参考以下文章
在 UIScrollView 中调整视图大小后,滚动视图不知道它改变了