UIBarButtonItem: How can I find its frame?

前端 未结 16 922
忘掉有多难
忘掉有多难 2020-12-12 23:17

I have a button in a toolbar. How can I grab its frame? Do UIBarButtonItems not have a frame property?

16条回答
  •  余生分开走
    2020-12-13 00:02

    Here's what I'm using in iOS 11 & Swift 4. It could be a little cleaner without the optional but I'm playing it safe:

    extension UIBarButtonItem {
        var view: UIView? {
            return perform(#selector(getter: UIViewController.view)).takeRetainedValue() as? UIView
        }
    }
    

    And usage:

    if let barButtonFrame = myBarButtonItem.view?.frame {
        // etc...
    }
    

提交回复
热议问题