-3

我对 Jared Davidson 的 youtube 视频有疑问。https://www.youtube.com/watch?v=1_daE3IL_1s正好 7 分钟,他写下代码行:

self.ScrollView1.contentSize = CGSizeMake(self.view.frame.width * 2, self.view.frame.size.height)

我的错误显示 CGSizeMake 在 Swift 中不可用,但在视频中它可以完美运行。这是我的代码版本:

import UIKit
class VC1: UIViewController {
    @IBOutlet weak var ScrollView1: UIScrollView!
    override func viewDidLoad() {
        super.viewDidLoad()
        var V1 : View1 = View1(nibName: "View1", bundle: nil)
        var V2 : View2 = View2(nibName: "View2", bundle: nil)
        var V2Frame : CGRect = V2.view.frame

        self.addChildViewController(V1)
        self.ScrollView1.addSubview(V1.view)
        V1.didMove(toParentViewController: self)

        self.addChildViewController(V2)
        self.ScrollView1.addSubview(V2.view)
        V2.didMove(toParentViewController: self)

        V2Frame.origin.x = self.view.frame.width
        V2.view.frame = V2Frame

        self.ScrollView1.contentSize = CGSizeMake(self.view.frame.width * 2, self.view.frame.size.height)
    }
}
4

1 回答 1

3

在 Swift 3 中正确使用 CGSize:

let size = CGSize(width: x, height: y)

在你的情况下:

self.ScrollView1.contentSize = CGSize(width: self.view.frame.width * 2, height: self.view.frame.size.height)

CGSizeMake 已弃用。

(PS 最好使用驼峰式命名变量(例如“scrollView1”而不是“ScrollView1”))

于 2017-08-26T04:50:37.510 回答