我正在使用codeschool教程构建应用程序,但即使我已按照确切的代码和步骤正确构建scrollView页面,它只会在iOS模拟器上显示一个空白屏幕。我做错了什么?
这是我的代码:
import UIKit
class ContactViewController: UIViewController {
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(scrollView)
}
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
scrollView.contentSize = CGSize(width: 375, height: 800)
我收到以下错误消息:
构建应用程序时,线程1:EXC_BAD_INSTRUCTION(代码= EXC_1386_INVOP,子代码= 0x0),总结为状态
......其特点是:
致命错误:在展开Optional值时意外发现nil (lldb)
我经常跑这么多次。我仔细查看了现有帖子,但我是一个新手,有些人建议对代码进行更改,看起来似乎没有必要,因为我完成了教程所指示的所有内容(我认为这些内容适当QA提前)。我感谢任何人的见解!
更新。以下用户帮助确定了问题。代码本身不是问题,但只是将scrollView链接到Assistant Editor中的代码显然没有完成。即使助理编辑器中的代码旁边有一个圆圈,它实际上并未链接,或链接已被破坏。您可以通过将鼠标悬停在圆圈上来确认链接实际正在工作,这将突出显示故事板编辑器中的滚动视图蓝色。如果链接断开,则不会突出显示。
感谢大家的帮助。这里再次是最终的工作代码:
答案 0 :(得分:0)
你做的一切都是正确的。在用逗号分隔的UIViewController之后添加UIScrollViewDelegate。然后执行这些步骤 1)选择scrollView并在属性检查器中勾选启用滚动和所有跳出。 2)正确设置约束(这是主要的事情) 3)在viewDidLoad
上设置此代码scrollView.isScrollEnabled = true;
self.scrollView.contentInset = UIEdgeInsetsMake(0, 0, 200, 0)
答案 1 :(得分:0)
你的行为正确,你的滚动视图由于滚动视图背景颜色而没有看到,因为它很清楚,所以你再添加一行你的代码
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
//Comment this line
// self.view.addSubview(scrollView)
}
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
scrollView.backgroundColor = UIColor.cyan
scrollView.contentSize = CGSize(width: 375, height: 800)
}