Swift playground)で、ライブビュー機能をテストするために次のコードを入力しました。
let view = UIView()
PlaygroundPage.current.liveView = view
しかし、何らかの理由で、ライブビューがアシスタントエディターの右側に表示されません。最初は、Xcodeがプレイグラウンドの実行を終了していないと思っていました。しかし、私は待って待ったが、それはまだ表示されません。
助けがありますか?
これとまったく同じ問題がありました。一時的な解決策を見つけました。
私が気づいたのは、複数のXcodeプロジェクトを開くと、このエラーが発生することです。したがって、xcode(コマンドQ)を完全に終了し、作業しようとしているライブプレイグラウンドのみを開くと、動作するはずです。
次のインポートがあることを確認し、ビューにフレームまたは色がないため、実際に機能することを確認するために、フレームと色を指定することをお勧めします。このコードは私のために機能します。
import UIKit
import PlaygroundSupport
let view = UIView()
view.backgroundColor = .white
view.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
PlaygroundPage.current.liveView = view
Xcode 9.0では、次のものが必要です。
PlaygroundPage.current.needsIndefiniteExecution = true
アシスタントエディタを手動で開く必要があります。そうすると、現在フォーカスがあるプレイグラウンドにUIViewが表示されます。
私も同じ問題を抱えており、次のコード行で修正されました。
PlaygroundPage.current.needsIndefiniteExecution = true
ライブビューを設定すると、自動的に有効になりますが、私にとってはそうではありませんでした。 Xcodeのバグでなければなりません。
ViewControllerのビューをプレビューすることができたのは、次のようなPlaygroundコードでControllerのビューを明示的に残しただけです。
import UIKit
import PlaygroundSupport
class MyViewController : UIViewController {
// ...
}
let controller = MyViewController()
PlaygroundPage.current.liveView = controller
controller.view // <- to the far right of this line in editor you'll be able to expand and see result
UIViewをライブビューとして設定することは、iPadのプレイグラウンドでのみ機能し、Xcodeでは機能しませんでした。
ビューをXcode 9および10プレイグラウンドに表示するには、View Controllerにラップし、代わりにライブビューに設定します(デフォルトのシングルビュープレイグラウンドと同じように)。
import UIKit
import PlaygroundSupport
class MyViewController : UIViewController {
override func loadView() {
let view = UIView()
view.backgroundColor = .white
self.view = view
}
}
PlaygroundPage.current.liveView = MyViewController()