是否可以访问uiviews的子视图

时间:2011-05-18 20:05:40

标签: ios uiview subviews

我已经看到许多明智的想法来按摩视图和控件以完全按照我们想要的方式查看,其中一些在SO上列出:

  1. 透明UISearchBariPad/iPhone uiSearchbar transparent background
  2. 不同颜色的UISegmentedControlUISegmentedControl selected segment color
  3. 我在想,这是合法的吗?每当某人硬编码像[[view subviews] objectAtIndex:0]这样的东西时,似乎都会涉及一些hackery元素,但它似乎在任何地方都可以完成......有人可以对此进行评论并提供一些观点吗?规则书是否可以?有没有人发布过像这样的生产代码并被Apple接受了?

3 个答案:

答案 0 :(得分:1)

它作为API的一部分公开,因此它是合法的。我已经在App Store中的应用程序上完成了它,我知道其他人已经做了同样的事情。

答案 1 :(得分:0)

几乎所有看起来很漂亮的应用程序都已经完成了这项工作并获得了批准。当您做出决定时,请准备好迎接新版本的iOS,这可能会破坏您正在做的事情,并准备立即发布更新

答案 2 :(得分:0)

仅仅因为你能够做某事,并不意味着它适合所有地方。在某些情况下,访问视图的子视图是非常必要的,但是我会担心依赖于特定的UIView在层次结构中的特定位置而不是您不维护的组件。无法保证特定子视图在将来版本的sdk中始终是第0个子视图。

如果这是唯一的方法,那么你可能没有其他选择,但请记住它是你应用程序的一个脆弱部分,应该对所有平台上的每个sdk版本进行充分测试。