ios - 为什么Scrollview和子view大小有时不一致

标签 ios uiscrollview xamarin.ios height ios-autolayout

我有一个 ScrollView 和一个 subview 。

subview 大小根据其内容动态增加。

我通过约束以编程方式更改 subview 高度,同时增加 ScrollView 内容大小。这样我就可以滚动 ScrollView 来查看完整的 subview 。

例如,如果我将 subview 设置为 320 px ..我可以看到 subview 大小已超过 320 px ..有时它像 500 px( ScrollView 内容大小和 subview 高度)或其他...有时它是我设置的 320px。

这对我来说似乎很荒谬

这与 xamarin.ios 有关吗?或者我做错了什么?

我正在更改...的 View 高度

Viewwilllayoutsubview,我在调用之前更改 View 高度 this.View.LayoutIfNeeded

有人可以解释一下我做错了什么吗?

最佳答案

UIScrollView 必须填充 View ,我为 UIScrollView 的约束添加了图像 UIScrollView's constraints

就像你现在一样,如果 subview 高度比 UIScrollView 长,则会开始滚动,但是

  1. 内部 Childview 的约束应该是这样的。 (正如你所说,高度可以动态增加)

enter image description here

  • 在 ViewController 中,您应该 ping UIScrollView 并更新其内容大小。
  •   public override void ViewDidLayoutSubviews(){ 
    
       base.ViewDidLayoutSubviews(); 
        ScrlView.ContentSize = VwContent.Frame.Size;
    
       }
    

    关于ios - 为什么Scrollview和子view大小有时不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46144503/

    相关文章:

    ios - 如何在 Watch OS 2 中引用不支持的框架

    ios - 从循环中获取值以存储在数组中

    ios - 当键盘存在时如何使 UITextField 向上移动 - 开始编辑?

    ios - UIScrollView 最大和最小 contentOffsets?

    iphone - 核心数据 : sorting before saving

    iphone - 如何使用常量解码位图

    ios - 如何区分 UIScrollView 中的平移和滚动

    ios - Xamarin iOS 的 NSURLSession CreateUploadTask 失败

    适用于德国应用商店的 iPhone 应用(本地化)

    c# - Xamarin iOS 中的 Grand Central Dispatch 与 ThreadPool 性能对比