iOS 模拟器无法正确刷新

标签 ios xcode button simulator

我尝试模拟我在 Xcode 9 中创建的一个非常非常简单的应用程序。我尝试在装有 iOS 11.2 的 iPhone6 的 iOS 模拟器中模拟它。我还测试了具有相同结果的其他设备。

在真实设备上,该应用程序按预期运行。但是在模拟器上它没有。

我希望在我点击按钮后该按钮会变成橙色。并且表情符号应该消失。相反,它变成了一些奇怪的“阴影”外观。如果我等待,按钮有时会在大约 30 秒后将其背景变为橙色。

我录了一张动图,来说明问题。

http://www.giphy.com/gifs/l4pSUuBtN7aBVvbVe

更新:

这是另一个 GIF:http://www.giphy.com/gifs/26DNe5B0vxIO6pHiw 只要我向下拖动信息中心,按钮就会刷新。

开发机器:Mac mini 2011, i5, SSD, 8GB RAM, high Sierra

希望有人能帮助我。

更新:15.02.18 该问题仅出现在 iOS 10 及更高版本中。 使用 iOS 版本 9.0 没有问题。预计没有任何表情符号......

与此同时,我已经向苹果提交了错误报告。但我认为对此不会有任何回应。

看起来其他人也有同样的问题:https://forums.developer.apple.com/thread/96511

最佳答案

iOS 13 更新:为所有 iOS 13 或更高版本的设备使用硬件 > 切换通话中状态栏选项。所有设备的事件指示器都消失了。幸运的是,通话状态栏不再改变布局大小。

--

我终于找到了解决方法!

对于没有缺口的模拟器,在启动应用程序时设置:

[UIApplication sharedApplication].networkActivityIndi​​catorVisible = YES;

swift 4.1:

UIApplication.shared.isNetworkActivityIndicatorVisible = true

永远不要将其设置回NO。这将在状态栏中显示小加载指示器,这将使模拟器持续处于事件状态并解决您的问题。

只是不要忘记确保您不会在生产配置中使用它

状态栏中带有缺口的模拟器 (iPhone X) 不显示事件指示器,但您可以使用“硬件”>“切换通话中状态栏”,因为通话中图标是动画的,并且还会保持屏幕积极的。

关于iOS 模拟器无法正确刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48773526/

相关文章:

iphone - iOS6 界面方向改变时更新 View

ios - 如何在 iOS (Swift) 上同时使用 PDFKit 中的铅笔(例如墨水)注释和手指触摸导航?

ios - 实例成员 'layer' 不能用于类型 'CustomPrettyView'

Objective-C 语法检查器

ios - 如何使用 Swift 3 iOS 应用程序读取 plist

ios - Swift - 从 switch 语句中的字符串初始化枚举

ios - 模拟器在 iPhone 6 Plus 的缩放模式下运行?

html - 我如何将复制按钮链接到表格中的单元格?

java - 如何让按钮实际出现在屏幕上?

Javascript-开始、停止、重置按钮的回调函数?