我需要获取UIBarButtonItem的CGPoint。我知道通过这样做我可以得到正常的UIButton:
- (IBAction)buttonTapped:(UIButton *)sender
{
CGPoint coordinates = sender.frame.origin;
}
但是,如果我为UIBarButtonItem更改它,这似乎不起作用。 我需要程序将这些值返回给我的原因是,因为否则使用iPhone 5,4S和屏幕之前我需要设置3个可能的位置,当我包含横向版本时,如果没有更容易的话我会这样做实现这一目标的方法。
答案 0 :(得分:2)
我找到了这个答案here。
正如所指出的,UIBarButtonItem不扩展UIView,因此它没有frame属性。链接中提供的解决方案是私有API,通常不建议使用。
UIView* barView = sender.view;
CGRect barFrame = [barView convertRect:barView.bounds toView:nil];
链接中还提供了另一种解决方案。