【问题标题】:How to get navigationbar barbuttonItem origin in Swift on iOS 11?如何在 iOS 11 上的 Swift 中获取导航栏 uibarbuttonItem 的来源?
【发布时间】:2018-09-23 14:34:59
【问题描述】:

如何获得UIBarButtonItem 的来源添加到UINavigationBar,我搜索了所有问题但总是找到大小而不是框架。

Get the frame of UIBarButtonItem in Swift?

【问题讨论】:

标签: ios swift4 uibarbuttonitem navigationbar


【解决方案1】:

可以在self.view的坐标系中获取bar button item的frame,然后从中获取原点:

let barButtonFrame: CGRect? = {
    if let barButtonView = self.barButton.value(forKey: "view") as? UIView {
        return self.view.convert(barButtonView.bounds, from: barButtonView)
    }
    return nil
}()

barButtonFrame?.origin // CGPoint?
barButtonFrame?.size // CGSize?

【讨论】:

  • 这在 iOS 14 上对我不起作用。它给出的一些数字非常接近于零,这显然是错误的。
猜你喜欢
  • 2018-01-14
  • 2013-12-27
  • 1970-01-01
  • 2018-05-10
  • 2018-02-12
  • 2018-01-03
  • 2018-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多