NIB文件Swift中的ScrollView

时间:2015-08-24 00:20:53

标签: ios swift uiscrollview

我正在尝试创建一个nib文件,其中视图插座是带有全屏UIScrollView的uiview。我想将实际视图添加到scrollview中,如果这有意义的话(我将附加屏幕截图)。我尝试了一些不同的方法,大多数是在Objective-C中,但不能使这种方法有效。当我运行下面的代码时,我在控制台中得到(lldb),没有其他错误文本。

enter image description here

class ScrollViewVC: UIViewController {

@IBOutlet weak var mainScrollView: UIScrollView!
@IBOutlet var contentView: UIView!
@IBOutlet weak var contentViewTitle: UILabel!
@IBOutlet weak var contentViewPrice: UILabel!
@IBOutlet weak var contentViewImageContainer: UIScrollView!

@IBOutlet var imageContainer: UIView!
@IBOutlet weak var imageOne: UIImageView!
@IBOutlet weak var imageTwo: UIImageView!
@IBOutlet weak var imageThree: UIImageView!

override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
    super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
convenience init() {
    self.init(nibName: "ScrollViewVC", bundle: nil)
}
required init(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
    super.viewDidLoad()

    self.mainScrollView.addSubview(contentView)
    self.mainScrollView.contentSize = self.contentView.frame.size
    self.contentViewImageContainer.addSubview(self.imageContainer)
    self.contentViewImageContainer.contentSize = self.imageContainer.frame.size
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}

1 个答案:

答案 0 :(得分:1)

self.mainScrollView.addSubview(contentView)

此行崩溃了您的应用。检查contentView出口点的位置。它指向您的IB中有一个名称" Main Scroll View"的视图。在内部,如果您有一个滚动视图,您有mainScrollView插座连接。

因此,您试图在滚动视图中添加包含此滚动视图的视图。难怪你的应用程序崩溃。

请注意您指定的插座。