2016-08-18 16 views
3

Xcode 8 Beta 6とSwift 3にアップデートする前にアプリが完全に実行されましたが、変更はありませんでしたが、今は2つの問題があります。Xcode 8 - 一部のビューとVCがシミュレータ上に表示されない

まず、いくつかのランダムなビューが表示されなくなりました。彼らはちょうど四角い色のボックスです。しかし、それらの上のビューが表示されます。 Interface Builderで

:シミュレータ上

Views

Only locks on simulator

第二seguedとき、私のモデルVCはもう現れません。それは前にして、セグーが呼び出されているのを見ることができますが、今は 'そこにはありません。

誰かがどちらの問題についてもアイデアを提供できる場合は、大変感謝します。

+0

私は、上のボックスの下にあるものとその背後にあるものを再配置します。 Xcodeには、ストーリーボード内のアイテムの配置がシミュレータがその順序をどのように見せるのかという迷惑なバグがあります。手作業で前後にドラッグすると修正されます。 – Sethmr

+0

@Sethmrありがとう、私はそれを試してみましたが、役に立たない。しかし、プレビューアシスタントで作業しているのを見ることができるので、制約がうまくいくかどうかはわかりません。私もXcodeを2回再起動しようとしました。 –

+0

あなたの制約がそれらのコンテキストに正しくインストールされていることを確認してください。属性インスペクタの一番下にスクロールすると、インストールされているチェックボックスと、配置される可能性のあるコンテキストの種類の略語が表示されます。そのオブジェクトが表示されていないオブジェクトがチェックされていることを確認し、オブジェクトに関連付けられている各制約で同じ操作を行います。 – Sethmr

答えて

3

Xcode 7/Swift 2 - > Xcode 8/Swift 3の間で、UIViewを円にする方法が変更されました。ここに私のコードは以下のようになります。

func roundView (_ viewToRound: UIView) { 
    viewToRound.layer.cornerRadius = 20 
    //viewToRound.layer.cornerRadius = (viewToRound.frame.width/2) 
    viewToRound.clipsToBounds = true 
} 

あなたが見ることができるように、私は私のcornerRadiusメソッドの代わりに推論されたビューのサイズからの明示的な「20」であることを交換してきました。以前の "frame.width"では、ビューは文字通り全く表示されませんでした。今彼らは正常に戻ります。私は何が変わったのかわからないが、これは間違いなくそれを修正した。

+1

アップルは、どのようにして開発者の生活をあらゆる更新プログラムの大きな地獄にしてくれるのか、私を驚かせることはありません。 –

+0

これは実際には、viewDidLoadおよびviewWillAppearメソッドでは、ビューのフレームが常に{0、0、1000、1000}であるために発生します。詳細はこちらhttp://stackoverflow.com/questions/39578530/since-xcode-8-and- ios10-view-are-not-size-view-on-viewdidlayoutsubviews – PaulRBerg

1

自動レイアウトの制約に何らかの問題が発生している可能性があります。それらが正しく設定されていることを再度確認してください。

また、これを確認するためにシミュレータを使用する必要はありません。アシスタントエディタのプレビュービューを使用:健全性チェックとして

preview view

を、私はどうしたらまず最初は、それは問題を解決するかどうかを確認することが示唆制約のために、あなたのビュー内のすべての要素をリセットされます。

+0

これは修正されませんでしたが、助けになりました。私はまだプレビューアシスタントでそれをチェックしていなかった。プレビューアシスタントではうまく見えます。 @Sethmrのコメントのアドバイスに従ってみましたが、それはしませんでした。 –

0

Xcode 8では、間違いなくAutoLayoutの問題です。この問題は、AutoLayoutを使用しないと存在しません。

ビューをCustomViewにすると、丸みを帯びて表示されます。この方法では、すでに存在するUIViewサブクラスをコーナーを丸める機能で拡張するのは簡単なので、ここではプロトコルを使用します。もちろん、boundsプロパティオブザーバで直接cornerRadiusを設定することは可能です。

0

iOS 10 UIViewライフサイクル& AutoLayoutに問題があります。

は、私はそれの意味する方法で、すべてのUI要素上などviewDidLoad & viewWillAppearフレームがあることである `{{0,0}、{1000,1000}}。そのような丸い角を設定する場合と同様のケースでは

あなたは目に見えないUIコンポーネントを取得500pxなど&と丸みを帯びた角を作る:)私はこの問題がUIViewサブクラスでUIViewControllersまたはlayoutSubviewsviewDidLayoutSubviewで丸みを帯びた角を設定することである解決方法

関連する問題