ios - 获取UIBarButtonItem的坐标或CGPoint

时间:2013-01-27 03:20:38

标签: ios uibutton uibarbuttonitem cgpoint

我需要获取UIBarButtonItem的CGPoint。我知道通过这样做我可以得到正常的UIButton:

- (IBAction)buttonTapped:(UIButton *)sender
  {
    CGPoint coordinates = sender.frame.origin;
  }

但是,如果我为UIBarButtonItem更改它,这似乎不起作用。 我需要程序将这些值返回给我的原因是,因为否则使用iPhone 5,4S和屏幕之前我需要设置3个可能的位置,当我包含横向版本时,如果没有更容易的话我会这样做实现这一目标的方法。

1 个答案:

答案 0 :(得分:2)

我找到了这个答案here

正如所指出的,UIBarButtonItem不扩展UIView,因此它没有frame属性。链接中提供的解决方案是私有API,通常不建议使用。

UIView* barView = sender.view;
CGRect barFrame = [barView convertRect:barView.bounds toView:nil];

链接中还提供了另一种解决方案。