Ios 今天小部件tableView冻结了
我有一个today小部件,它包含两个内容:Ios 今天小部件tableView冻结了,ios,swift,widget,tableview,today-extension,Ios,Swift,Widget,Tableview,Today Extension,我有一个today小部件,它包含两个内容: Aui标签 AUITableView 在我的视图中将出现中,我将标签设置为可见,将我的tableView设置为隐藏,并将标签文本设置为“加载”。见下图 然后我得到一个位置,当这完成后,我调用另一个方法 如果找不到任何数据,我只需将标签文本更新为“未找到数据” 否则,我将标签设置为隐藏,将tableView设置为可见,然后开始更新数据 成功完成后,我有一个如下所示的tableView: 现在开始我的问题。当我打开我的“今日”小部件并点击视图时,我并不
ui标签
UITableView
视图中将出现
中,我将标签设置为可见,将我的tableView设置为隐藏,并将标签文本设置为“加载”。见下图
然后我得到一个位置,当这完成后,我调用另一个方法
当我打开我的“今日”小部件并点击
视图时,我并不总是能够设置标签,我得到的唯一结果就是这个
因此,我只能在tableView中显示我以前的一部分结果
这种情况偶尔会发生,似乎tableView冻结了,我无法更新初始视图,而是隐藏tableView并显示标签。即使当屏幕像这样冻结时,一切都正常运行,我设法更新了tableView和view
唯一的问题是当我打开小部件时,屏幕冻结如下:
有时候,我没有展示我的标签。它之所以如此大小,是因为我设置了preferredContentSize=CGSizeMake(0,30)
。否则,我打赌它将显示整个上一个tableView
有没有办法解决这个问题,当我点击视图时总是更新视图会出现
更新
开始另一个悬赏,看看是否有其他关于这个问题的信息。系统所做的是拍摄快照。我也一直在努力解决这个问题,我检查了post,但它没有解决我的问题
对于widgetPerformUpdateWithCompletionHandler
有三个选项
NCUpdateResultNewData
-新内容要求您重新绘制视图
ncupdateResultNodeData
-小部件不需要更新
NCUpdateResultFailed
-更新过程中发生错误
不管哪一个被称为,结果总是一样的并且系统会拍摄快照。
为了帮助您的小部件查找最新信息,系统偶尔会捕获
小部件视图的快照。当小部件变得可见时
再次显示最新的快照,直到系统替换
它使用了视图的实时版本
要在拍摄快照之前更新小部件的状态,请确保
遵守NCWidgetProvising协议。当您的小部件收到
widgetPerformUpdateWithCompletionHandler:调用,更新
窗口小部件的视图,包含最新的内容,并调用完成
处理程序,使用以下常量之一来描述结果
最新情况
我认为我们可能正在尝试加载“重”数据,这可能就是原因。这是我的答案,但我开始悬赏,以检查是否有其他人有其他答案,或者您是否同意我的帖子。您可以将您的操作放入viewdidload()
,因为当您进入小部件时,viewdidload()
将被调用。您可以添加一些代码吗,例如,您是否发出网络请求,然后解析结果?如果是,是否reload()
表视图?并隐藏标签。如果您添加了一些实现,也许我可以帮助您,请向我们展示代码,否则无法提供帮助!您是否已经遵守了ncwidget提供
协议并实施了widgetmargininsetsforProposedMargines:
?