iOS 7 - UIPopoverController:箭头被弃用了?

6
我正在调整我的应用以适应iOS 7,当我阅读文档时,在此链接的popoverArrowDirection下面,我读到了这行话:

"(已弃用。在iOS 7及以后版本中,弹出窗口不再使用箭头。)"

这很奇怪,因为我的popover在iOS 7中仍然有箭头。我是不是理解错了?


1
显然,那个评论已经不存在了 =D。事实上,如果您转到文档的最后一页,您可以看到以下发布说明:“2013-12-16已删除有关popoverArrowDirection的不正确弃用信息。” - Omer
太好了!也许我提交的错误报告起到了作用。感谢您的更新。=) - airpaulg
1个回答

4
这似乎是文档中的一个错误。箭头可能被设计师删除,但在可用性测试中决定恢复。
如果您查看UIPopoverController.h文件,您将不会看到任何弃用属性(例如NS_AVAILABLE_IOS或NS_DEPRECATED_IOS)。
/* Returns the direction the arrow is pointing on a presented popover. Before 
   presentation, this returns UIPopoverArrowDirectionUnknown.
 */
@property (nonatomic, readonly) UIPopoverArrowDirection popoverArrowDirection;

与此相反,可以对比使用 -[NSString sizeWithFont:constrainedToSize:] 方法:
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size NS_DEPRECATED_IOS(2_0, 7_0, "Use -boundingRectWithSize:options:attributes:context:");

这些属性很重要,因为它们会生成编译器的警告和错误。实际编写 UI 代码的人也会维护这些属性。
由于缺乏属性并且行为与文档直接相矛盾,您真的不必担心它。如果真的让您困扰,可以提交错误报告

嗨,布赖恩,实际上,在源代码中它并没有被弃用。尽管如此,我想知道是否有人听到了更多的消息,这样我就知道是否继续在我的设计中加入带箭头的弹出框。感谢你挖掘代码! - airpaulg
2
@airpaulg,你也可以在http://bugreport.apple.com上报告错误文档的问题。 - Felipe Cypriano
好主意,菲利普!起初我并没有把它看作是一个漏洞,但现在这可能是合适的。 - airpaulg
头文件是查看哪些内容已经被弃用的最佳来源。它们由编写箭头代码的人维护,编译器使用这些头文件来生成警告或错误。我更新了我的答案并加入了@FelipeCypriano的链接以便提交错误报告。 - Brian Nickel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接