ios - 在 Swift 中获取 UIBarButtonItem 的框架?

标签 ios swift uibarbuttonitem uinavigationitem

我怎样才能快速获得 rightbarbuttonItem 的框架?我发现这个:UIBarButtonItem: How can I find its frame?但它说不能将 NSString 转换为 UIView,或者不能将 NSString 转换为 String:

let str : NSString = "view" //or type String
let theView : UIView = self.navigationItem.rightBarButtonItem!.valueForKey("view")//or 'str'

目标是删除 rightBarButtonItem,添加一个 imageView,并使用淡出效果移动它。

谢谢

最佳答案

你应该这样尝试:

var barButtonItem = self.navigationItem.rightBarButtonItem!
var buttonItemView = barButtonItem.valueForKey("view")

var buttonItemSize = buttonItemView?.size

编辑(Swift 3):

var barButtonItem = self.navigationItem.rightBarButtonItem!
let buttonItemView = barButtonItem.value(forKey: "view") as? UIView
var buttonItemSize = buttonItemView?.size

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

相关文章:

ios - 自定义 UIView 使用 init(coder) 初始化,如何使用 init(frame) 初始化它

ios - xcode/ Storyboard : can't drag bar button to toolbar at top

ios - 如何防止线程打印在控制台中混合输出?

ios - 如何使用 iOS 向 Twitter 好友发送直接消息

Swift:两个动画一个接一个

ios - 我如何根据用户的回答为常见问题创建模型?

ipad - 在 iPad 上使用自定义 View 显示来自 UIBarbuttonItem 的弹出窗口,就像在邮件应用程序中一样?

ios - 如何对导航栏中的按钮设置约束? iOS 13 Swift 5(向导航 Controller 添加圆形个人资料图像按钮)

ios - 没有在自定义 UISearchBar 中获取过滤器数据

ios - 当前电池状态总是在 ios 中返回 "Charging"