ios - 在 Swift 中获取 UIBarButtonItem 的 View

标签 ios uiview swift3 uibarbuttonitem

希望这是一个简单的问题。我正在尝试获取 UIBarButtonItem 的 UIView。看下面StackOverflow question我想出了以下代码:

let notificationButton = UIBarButtonItem(image: UIImage(named: "icon_notification.png"), style: .plain, target: self, action: nil)

let notificationView = notificationButton.value(forKey: "view") as? UIView

但是,notificationView 为零。那么,对我未能从链接的 StackOverflow 问题中解释的内容有何想法?

最佳答案

从 iOS 11 开始,此代码将不起作用,因为下面的代码行不会强制转换 UIView。而且它也算作私有(private) API,似乎不会通过 AppStore 审核。

guard let view = self.value(forKey: "view") as? UIView else { return } 

Thread on: forums.developer.apple

关于ios - 在 Swift 中获取 UIBarButtonItem 的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44556686/

相关文章:

ios - 类型 'Any?' 没有下标成员

ios - 从 Swift 3.0 到 Swift 4.2 的转换错误 "Cannot assign value of type ' [String ]' to type ' [AVMetadataObject.ObjectType] ?'"

ios - 如何显示容器 View ViewController 和隐藏容器 View ViewController

ios - 在没有 segue 的 ViewController 之间发送数据

ios - 是否可以将 UIView 的顶部固定到导航栏的底部?

iphone - 使用 transitionFromView 和 transitionWithView 的过渡行为

ios - 在 super.init 调用之前使用了“self”,并且属性在 super.init 调用时未初始化

ios - 自定义 iOS 键盘 - 自定义字体输出

ios - 如何使用 .p8 JWT key 测试推送? (APNs 授权 key )

ios - 无效的浮点值 - swift 3 ios