1

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

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

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

4

1 回答 1

3

我在这里找到了这个答案。

正如所指出的, UIBarButtonItem 不扩展 UIView 因此它没有框架属性。链接中提供的解决方法是私有 API,通常不推荐。

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

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

于 2013-01-27T05:58:31.210 回答