我正在尝试创建一个 nib 文件,其中 View 导出是具有全屏 UIScrollView 的 uiview。如果有意义的话,我想将实际 View 添加到 ScrollView 中(我将附上屏幕截图)。我尝试了几种不同的方法,大多数是在 Objective-C 中,但无法使这种方法起作用。当我运行下面的代码时,我在控制台中得到 (lldb),没有其他错误文本。
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.
}
最佳答案
self.mainScrollView.addSubview(contentView)
此行会使您的应用崩溃。检查您的 contentView
socket 点在哪里。它指向您的 IB 中名为“Main Scroll View”的 View 。在里面,如果你有一个 ScrollView ,你有一个 mainScrollView
导出连接。
因此,您正在尝试将包含此 ScrollView 的 View 添加到 ScrollView 。难怪您的应用会崩溃。
对您分配的导出要非常小心。
关于ios - NIB 文件中的 ScrollView Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32172893/