我正在尝试解决Apple SDK中长期存在的错误,但如果没有大量代码,我无法看到如何实现它。
这是错误:
...然后,在运行时: 4.将超视图大小设置为零 5.将超视图设置回任何非零大小
BANG!苹果公司的SDK变得混乱,重置了子视图的起源,失去了从下来说出的所有能力等等(似乎程序员“忘了”包含一个变量来记录弹簧/支柱大小在它变为0之前的状态)。
我听说过这个bug在OS X中存在了5年左右,Apple仍然没有修复它。我想要的是某种方式(任何方式!)解决它,没有重新编写Apple的整个弹簧/ struts系统并正确实现它,没有bug。不幸的是,我甚至找不到以前有人给我看过的OS X bug的原始引用。
编辑:
...我在屏幕底部有一个调整大小的“抽屉”,必须缩小到很小的高度。问题是子视图“坍塌”所有下降到原点0(以及其他东西)的下降(技术上:他们正在减少他们的原点。但是没有重新增加它。)
答案 0 :(得分:1)
我找到的最佳解决方案是限制您的最小窗口大小,以便您的所有视图都不会达到零大小。
答案 1 :(得分:0)
(以下是SEEMED工作,但现在再次以同样的方式失败)
嗯。所以,我在一个屏幕上有两个UIVC。重构,以便我只有一个使调整大小的bug消失。它似乎是UIVC布局代码中的一个错误。
NB:我认为这可能是一个问题,因为我知道Apple目前建议您只使用iPhone同时在屏幕上显示一个UIVC,即使这意味着您必须忽略其复杂应用的MVC架构。所以,从技术上讲,他们会警告你远离这个。但是,与此同时,我现在无法将MVC内容用于此代码。以下工作(对于我目前的例子 - 可能不是通用的!)。
HOW:
答案 2 :(得分:0)
另一种潜在的解决方法(在我目前的情况下有效):
我现在唯一拥有非零原点的视图,必须调整大小是一个UITableView。
Apple有一项特殊功能,可让您将任何视图作为“表格标题”。
所以...我已经把我所有的其他组件,将它们放在一个大视图中,并将其作为表头视图。
缺点是,当你滚动表时,它们现在滚动到顶部,但是它允许我将表格归零,解决SDK错误。