UIScrollView不会滚动,也不会出现在正确的位置

时间:2016-04-01 23:36:42

标签: ios swift uiscrollview

我需要一个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,容器视图就不会出现在屏幕上(它位于底部),但在以前的VC中,代码可以工作完美。

此外,它不允许我滚动内容。那有什么不对?

如果有必要,我可以上传实现,但我认为这没有问题。

1 个答案:

答案 0 :(得分:0)

解决。我只需将它放在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)

现在工作正常。