我可以在IOS中的视图之前插入scrollview吗?

时间:2017-12-31 09:55:12

标签: ios xamarin.ios

即使我使用的是xamarin,答案也可以是swift,objective-c或c#。 我在使用xamarin在storyboard中创建scrollview时遇到了问题,我在xcode上学习了几个教程但是我不能做我需要的。

然后我删除了scrollview并且只有一个很长的垂直uiview并且实际上添加了一些代码来使用pangesture移动uiview框架来滚动它。

但是我知道使用srollview也会更好,但我必须能够在视图之前(在代码中)插入一个scrollview来实现同样的目的。

有可能吗?

1 个答案:

答案 0 :(得分:2)

是的,例如,您可以通过将ScrollView作为子视图添加到View中来在ViewController中执行此操作。

override func viewDidLoad() {
    super.viewDidLoad()

    let scrollViewFrame = view.bounds
    let scrollView = UIScrollView(frame: scrollViewFrame)
    scrollView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    scrollView.backgroundColor = UIColor.red
    view.addSubview(scrollView)

    let innerView = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
    innerView.backgroundColor = UIColor.blue
    scrollView.addSubview(innerView)

    scrollView.contentSize = CGSize(width: scrollViewFrame.width, height: scrollViewFrame.height * 2)
}

在此示例中,ScrollView与主视图具有相同的大小。您可以通过更改scrollViewFrame常量来调整此值。

innerView的固定大小为50x50。如果它应该覆盖整个scrollView,只需使用scrollViewFrame和相同的autoresizingMask

我将contentSize调整为scrollView的两倍,以使其滚动。这可能是您的解决方案所必需的,也可能不是。