1

scrollView の contentSize を設定しようとすると、この問題 (Xcode 6.4) に遭遇しました...

これらは両方とも完全に機能します。

scrollView.contentSize = CGSize(width:self.view.frame.width, height:1000)

scrollView.contentSize = CGSizeMake(self.view.frame.width, 1000)

let (または var) が関与すると、これらは機能しません。

let testing = 1000
scrollView.contentSize = CGSize(width:self.view.frame.width, height:testing)

エラー: タイプ '(幅: CGFloat、高さ: Int)' の引数リストを受け入れるタイプ 'CGSize' の初期化子が見つかりません

let testing = 1000
scrollView.contentSize = CGSizeMake(self.view.frame.width, testing)

エラー: タイプ '(CGFloat, Int)' の引数リストで 'CGSizeMake' を呼び出すことはできません

4

2 に答える 2

2

letステートメントを次のように変更します。

let testing:CGFloat = 1000

CGSizeMake関数には同じ型の 2 つのパラメーターが必要なため、これを行う必要があるため、両方を s にするか、両方をintsにすることができますCGFloat。この場合、そもそもtestinga として使用する方がおそらく簡単です。CGFloatそれ以外の場合は、次のようなことを試してください。

let testing = 1000
scrollView.contentSize = CGSizeMake(Int(self.view.frame.width), testing)

または:

let testing = 1000
scrollView.contentSize = CGSizeMake(self.view.frame.width, CGFloat(testing))

両方が同じタイプであるように。

于 2015-08-01T04:36:41.200 に答える
0
  • 数値リテラルには明示的な型がありません。その型は、コンパイラによって評価される時点で推測されます。

  • 数値変数には明示的な型が必要です。デフォルトのタイプはInt

    let testing : CGFloat = 1000.0
    scrollView.contentSize = CGSize(width:self.view.frame.width, height:testing)
    
于 2015-08-01T04:40:57.780 に答える