使用 Playground 在模拟器中闪烁 UIView
Posted
技术标签:
【中文标题】使用 Playground 在模拟器中闪烁 UIView【英文标题】:Flickering UIView in simulator using Playground 【发布时间】:2015-08-13 09:46:23 【问题描述】:我正在运行 Xcode 6.4,玩游乐场,我编写了这个超级基础代码。
我想在模拟器中运行代码,所以我打开了实用程序选项卡 (alt-cmd-0) 并选择了支票簿“ [v] Run in Full Simulator”
import UIKit
import XCPlayground
let eenView = UIView(frame: CGRectMake(0, 0, 100, 100))
eenView.backgroundColor = UIColor.orangeColor()
XCPShowView("View", eenView)
模拟器正在显示,视图也在显示,但是……它在闪烁!!
(我已经尝试了很多东西,比如重置所有模拟器,创建新模拟器,但似乎没有任何效果,我想知道是否需要在我的代码中添加一些东西)
【问题讨论】:
【参考方案1】:更新
import UIKit
//setup
struct MainScene
let vc: UIViewController
let nc: UINavigationController
init(vc: UIViewController)
self.vc = vc
self.nc = UINavigationController(rootViewController: vc)
extension UIViewController
class func viewController(color: UIColor) -> UIViewController
let vc = UIViewController()
vc.view = UIView(frame: UIScreen.mainScreen().bounds)
vc.view.backgroundColor = color
return vc
let vc = UIViewController.viewController(UIColor.lightGrayColor())
vc.title = "title"
////////Write your prototype code there
////////End of your prototype
let mainScene = MainScene(vc: vc)
//Run playground
let window = UIWindow(frame: UIScreen.mainScreen().bounds)
window.rootViewController = mainScene.nc
window.makeKeyAndVisible()
CFRunLoopRun()
这就是解决方案,如果有人感兴趣...
我修改了ilyapuchka的代码(他实现了非常好的例子):
https://gist.github.com/ilyapuchka/1ae19259161a91f3a8a8
【讨论】:
以上是关于使用 Playground 在模拟器中闪烁 UIView的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS Xcode Swift Playground 上模拟暗模式
AlamofireObjectMapper.swift 第 74 行适用于 Playground,但不适用于设备或模拟器
如何在我的 Windows 上从克隆的 repo 运行 React-Native-Navigation v2 Playground?