即使我使用的是xamarin,答案也可以是swift,objective-c或c#。 我在使用xamarin在storyboard中创建scrollview时遇到了问题,我在xcode上学习了几个教程但是我不能做我需要的。
然后我删除了scrollview并且只有一个很长的垂直uiview并且实际上添加了一些代码来使用pangesture移动uiview框架来滚动它。
但是我知道使用srollview也会更好,但我必须能够在视图之前(在代码中)插入一个scrollview来实现同样的目的。
有可能吗?
答案 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
的两倍,以使其滚动。这可能是您的解决方案所必需的,也可能不是。