gpt4 book ai didi

objective-c - 使用 `valueForKey` 访问 UIBarButtonItem 中的 View ,违反私有(private) API?

转载 作者:可可西里 更新时间:2023-11-01 03:05:27 24 4
gpt4 key购买 nike

由于 UIBarButtonItem 不是 UIView 的子类,因此不可能获得像其 frame 这样的正常特征。

一种方法是[barButtonItem valueForKey:@"view"]

这非常有效,并允许您将 GestureRecognizer(例如)添加到底层 UIView

但是,这是私有(private) UIKit API 违规吗?

最佳答案

就验证后立即拒绝而言,这不是私有(private)的,但它的私有(private)性足以被认为是脆弱的(也就是说,新的 iOS 版本可能会破坏您在应用商店中使用该代码的现有应用)。

我可以说,类似的代码(通过 KVC 获取 UIToolbar 的 backgroundView ivar)已经通过了应用商店验证并正在生产中使用。

如果可能出现不良情况,您必须将方法包装在 @try { ... } @catch 中,以便拦截可能在较新的 iOS 版本中失败的 KVC。

关于objective-c - 使用 `valueForKey` 访问 UIBarButtonItem 中的 View ,违反私有(private) API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11923597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com