2016-09-20 9 views
-1

私はカスタムXIBでストーリーボードを使用していますが、アップグレードする前にすべてがうまくロードされて2とxcode 7になります。アップグレード後にストーリーボードをxcode 8に変換できます。 viewcontrollerはビューを表示しますが、私のカスタムXIBが表示されません。ストーリーボードファイルを見ると、ストーリーボードをカスタムXIBに変換したバグがあるようです。この問題を抱えている人は誰ですか?Swift 3でロードするとカスタムXIBが見つからない8

required public init(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder)! 
    let bundle = Bundle(for: type(of: self)) 
    let nib = UINib(nibName: self.dynamicTypeName, bundle: bundle) 
    let nibView = nib.instantiate(withOwner: self, options: nil).first as! UIView 
    self.mainView = nibView 
    self.mainView.frame = bounds 
    self.mainView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
    mainView.translatesAutoresizingMaskIntoConstraints = true 
    self.addSubview(mainView) 
} 

答えて

0

アップグレードself.mainView.frame =境界を呼び出す

前に、(今SWIFT 3との常にあなたの正しい境界を与えるが、あろうから何かが、SWIFT 3でレイアウト処理と間違っていました0、0、1000、1000)、正しい境界を得るためにlayoutSubviewsにフレームを設定しなければなりませんでした。

open override func layoutSubviews() { 
    self.mainView.frame = bounds 
} 
+0

私も同じ問題に直面しています。解決策は見つかりましたか? –

+0

はい、layoutSubviewsでカスタムxibフレームを設定してみてください – RiceAndBytes

+0

提供された部屋はまだフルスクリーンです(mainscreen.rectなど) –

関連する問題