簡體   English   中英

Xcode 8 操場實時視圖不起作用

[英]Xcode 8 playground live view doesn't work

在我的 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 中的錯誤。

將 UIView 設置為實時視圖僅適用於 iPad 游樂場,但不適用於 Xcode。

為了使視圖出現在 Xcode 9 和 10 playground 中,我將它包裝到一個視圖控制器中,並將其設置為實時視圖(就像默認的單視圖游樂場一樣):

import UIKit
import PlaygroundSupport

class MyViewController : UIViewController {
    override func loadView() {
        let view = UIView()
        view.backgroundColor = .white
        self.view = view
    }
}

PlaygroundPage.current.liveView = MyViewController()

我能夠預覽視圖控制器的視圖,只是在操場代碼中顯式地離開控制器的視圖,如下所示:

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

對於一些來到這里的用戶,您可能需要在 XCode 中打開實時視圖

如何打開實時取景

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM