繁体   English   中英

Swift:使用多点连接更新UIView

[英]Swift: Update UIView using multipeer connectivity

我正在使用多对等连接框架编写应用程序。 我的一台设备将准备一份UIView项目列表,并发送到另一台设备。 当另一台设备收到列表时,它将其放在视图上并显示。

但是,我发现该设备可以接收列表,并且可以打印出列表中每个项目的框架。 但是,它使用for循环将其放置在屏幕上,但视图从未更新。 对我错过的事情有任何想法吗?

func placeViews() {
    for (string, item) in self.imageViewItemViews {
      debugPrint(string, item.frame) // print out what it received correctly
      self.containerView.addSubview(item)
    }
  }

启动应用程序时,containerView已经显示。 我也叫self.containerView.setNeedsDisplay()

子视图可能返回到视图的层次结构中。 您甚至可以根据下图使用“ 调试”视图层次结构 (3D视图)进行检查。

调试视图层次结构

如果您的视图位于主视图的后面,则可以使用此代码,即使您不了解superView:

在Objective-C中:

[subview.superview bringSubviewToFront: subview];

迅速:

subview.superview.bringSubviewToFront(subview)

希望对您有帮助。

最终,我发现这是因为我的代码未在主线程上执行,因此不会更新UI。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM