从XIB添加的Swift scrollview根本无法滚动

时间:2019-05-28 14:13:27

标签: ios swift uiscrollview xib

我正试图从Xib全屏ScrollView导入到ViewController中。

guide之后,我做了很多工作示例,但是当从Xib导入它时,ScrollView在滚动时没有响应(甚至没有弹跳)

我的Xib View类:

class TestScroll: UIView {

override init(frame: CGRect) {
    super.init(frame: frame)
}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

override func awakeFromNib() {
    super.awakeFromNib()

    self.translatesAutoresizingMaskIntoConstraints = false
}

public static func getViewFromNib() -> TestScroll {
    return UINib(nibName: "TestScroll", bundle: .main).instantiate(withOwner: nil, options: nil).first as! TestScroll
    }
}

这就是我在ViewController中添加它的方式:

override func viewDidLoad() {
    super.viewDidLoad()

    let testScroll = TestScroll.getViewFromNib()
    self.view.addSubview(testScroll)
}

请帮助,我已经检查了许多指南,但没有找到Xib的有效示例。

1 个答案:

答案 0 :(得分:2)

您需要设置框架/约束

let testScroll = TestScroll.getViewFromNib()
testScroll.frame = self.view.bounds
self.view.addSubview(testScroll)

保留

self.translatesAutoresizingMaskIntoConstraints = false

仅当您设置约束