2017-08-26 46 views
-3

我遇到了由Jared Davidson發佈的youtube視頻問題。 https://www.youtube.com/watch?v=1_daE3IL_1s恰恰在第7分鐘,他寫的代碼行:CGSizeMake使用Swift 3的特定問題Xcode 8

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

我的錯誤顯示,CGSizeMake是斯威夫特不可用,但在視頻中它完美的作品。這裏是我的代碼版本:

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) 
    } 
} 

回答

2

CGSize的正確使用在斯威夫特3:

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

你的情況:

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

CGSizeMake已被棄用。

(P.S.使用駱駝事件來命名變量是很好的做法(例如「scrollView1」而不是「ScrollView1」))

相關問題