我正在从服务器下载JSON数据的应用程序,然后将其显示在UIView上。该视图不会更新,只需要大约15秒。我已经过测试,以确保它不会延迟更新,并且如果我在添加数据时更改视图的背景颜色,它也会等待更新。我是否认为这是一种不更新的观点,还是其他的东西呢?我如何强制更新视图?谢谢。如何强制UIView更新
var newView = CustomView(product: products[0],descriptive: false)
contentView.addSubview(newView)
let backHeight = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: view, attribute: NSLayoutAttribute.Height, multiplier: 0.2, constant: 0)
let backWidth = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.Equal, toItem: contentView, attribute: NSLayoutAttribute.Width, multiplier: 1, constant: 0)
let backXPosition = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.Left, relatedBy: NSLayoutRelation.Equal, toItem: contentView, attribute: NSLayoutAttribute.Left, multiplier: 1, constant:0)
let backYPosition = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.Top, relatedBy: NSLayoutRelation.Equal, toItem: colorLabel, attribute: NSLayoutAttribute.Bottom, multiplier: 1.0, constant: 0)
view.addConstraints([backHeight,backWidth,backXPosition,backYPosition])
这是我如何将项目添加到视图。
如何更新,是否在后台线程上发生了下载的返回块,以及是否正在从后台线程更新UI?所有UI更新必须位于主线程上。 – MDB983
如何放置一些活动指标,直到获得所有数据,然后创建UI?你能告诉我们你到目前为止所尝试过的吗? –
对不起,我忘了补充说,视图确实得到更新,在添加视图之后应该运行的println后,只需要10-15秒钟。 –