我需要一个 UIScrollView 和一个 containerView 来滚动我创建的内容。我对这 2 项的代码是:
var scrollView = UIScrollView()
var darkener = UIView()
var container = UIView()
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.clearColor()
darkener = UIView(frame: self.view.frame)
darkener.backgroundColor = UIColor.blackColor()
darkener.alpha = 0.0
self.view.addSubview(darkener)
scrollView.frame = self.view.bounds
scrollView.backgroundColor = UIColor.clearColor()
scrollView.contentSize = CGSizeMake(scrollView.frame.width, scrollView.frame.height+1)
scrollView.delegate = self
self.view.addSubview(scrollView)
container = UIView(frame: CGRectMake(0, scrollView.frame.height, scrollView.frame.width, scrollView.frame.height))
container.backgroundColor = UIColor.whiteColor()
container.layer.masksToBounds = true
container.layer.cornerRadius = 10
scrollView.addSubview(container)
}
问题是,一旦我将 Y 点设置为 scrollView.frame.height,容器 View 就不会出现在屏幕上(它位于底部),但在以前的 VC 中,该代码运行良好。
此外,它不允许我滚动内容。那里出了什么问题?
如果需要我可以上传实现,但是我认为这没有问题。
最佳答案
已解决。我只需要将其放在 ViewDidLoad 的末尾即可声明 de frame:
textField 是我在屏幕上的最后一个标签,用于声明屏幕的限制。
self.container.frame = CGRectMake(0, self.container.frame.origin.y, self.container.frame.width, textField2.frame.origin.y + textField2.frame.height - 60)
self.scrollView.contentSize = CGSizeMake(self.container.frame.width, self.container.frame.height + 20.0)
现在可以正常工作了。
关于ios - UIScrollView 不滚动也没有出现在正确的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36367455/