Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa touch 黑客入侵UINavigationBar/苹果批准_Cocoa Touch_Ios - Fatal编程技术网

Cocoa touch 黑客入侵UINavigationBar/苹果批准

Cocoa touch 黑客入侵UINavigationBar/苹果批准,cocoa-touch,ios,Cocoa Touch,Ios,以下是Evernote的截图。它似乎有一个自定义UINavigationBar和一个自定义uitabar(但我可能错了) 快速浏览一下手机上的应用程序,我就可以使用Instagram、Path、DailyBooth等的屏幕截图 因为管理导航栏非常重要 航海的责任 控制器,直接修改 考虑导航栏本身 大多数情况下都是禁区 苹果是否将这种情况视为AppStore拒绝的理由?在“自定义”导航栏和使用私有方法之间有区别 Apple通过将许多必需的方法设置为私有或只读属性来阻止您直接修改导航栏。如果您要

以下是Evernote的截图。它似乎有一个自定义UINavigationBar和一个自定义uitabar(但我可能错了)

快速浏览一下手机上的应用程序,我就可以使用Instagram、Path、DailyBooth等的屏幕截图

因为管理导航栏非常重要 航海的责任 控制器,直接修改 考虑导航栏本身 大多数情况下都是禁区


苹果是否将这种情况视为AppStore拒绝的理由?

在“自定义”导航栏和使用私有方法之间有区别

Apple通过将许多必需的方法设置为私有或只读属性来阻止您直接修改导航栏。如果您要修改只读属性或使用私有的未记录方法,您的应用程序将被拒绝(苹果会在提交时自动分析代码,以检测此类情况)

但是,没有什么可以阻止您实现自己的
UINavigationBar
等效工具,或者使用公开可用的SDK方法对其进行定制。接下来的问题是,你的应用程序是否偏离了人机界面的指导原则:尽管说实话,苹果在这方面通常相当灵活


虽然我不一定推荐这一点,但我已经开发了一个应用程序,我们推出了自己的导航控制器,因为我们有一些动画和过渡要求,这是苹果自己的类无法实现的。只要你没有说什么不好的事情,或者根本不反对HIG,你一般都很好。

你说的没错,现在很多应用程序都在使用这种东西;这是大多数人可能正在使用的图书馆:@Krypton,啊,谢谢-我不知道。我个人的感觉是,这是一个非常有用的界面组件,但它使用安全吗?看到使用它的实时公共应用程序的数量,我会说它可以使用。正如下面的答案所述,如果你直接去修改UINavigationBar及其深层的内部工作原理,那么苹果可能会反对。不过,我发布的链接很酷——如果我需要类似的东西,我会使用它。:)在我看来,似乎不需要私有方法,但必须将子视图插入到选项卡栏层次结构的正确位置,并重新定位选项卡栏的组件子视图。这(我猜)取决于tabBar的化妆品在未来不会改变,它非常脆弱。如果我是苹果,我不会允许这样做,但如果其他应用也这么做,我想跟上。