0

我正在使用 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 (code=EXC_1386_INVOP, subcode=0x0),总结如下

...其特点是:

致命错误:在展开可选值 (lldb) 时意外发现 nil

我已经运行了很多次。而且我仔细查看了现有的帖子,但我是新手,有些人建议对代码进行一些看似不必要的更改,因为我已经按照教程的指示做了所有事情(我想应该有适当的提前进行质量检查)。我感谢任何人的洞察力!

更新。以下用户已帮助确定问题。代码本身不是问题,只是简单地将滚动视图链接到助手编辑器中的代码显然还没有完成。尽管助手编辑器中的代码旁边有一个圆圈,但实际上并没有链接,或者链接已断开。您可以通过将鼠标悬停在圆圈上来确认链接确实有效,这将在故事板编辑器中以蓝色突出显示滚动视图。如果链接断开,它将不会突出显示。

感谢大家的帮助。这又是最终的工作代码:

4

2 回答 2

0

你做的一切都是对的。在 UIViewController 之后添加 UIScrollViewDelegate,用逗号分隔。然后执行这些步骤 1)选择 scrollView 并在属性检查器中勾选滚动启用和所有反弹。2)正确设置约束(这是主要的) 3)在您的 viewDidLoad 上设置此代码

scrollView.isScrollEnabled = true; 
self.scrollView.contentInset = UIEdgeInsetsMake(0, 0, 200, 0)
于 2016-11-21T04:54:38.653 回答
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)
}
于 2016-11-21T05:37:44.567 回答