1

UIBarButtonItemのCGPointを取得する必要があります。これを行うことで、通常のUIButtonを取得できることを知っています。

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

しかし、UIBarButtonItem用に変更すると、これは機能しないようです。これらの値を返すプログラムが必要な理由は、iPhone 5、4S、および画面の前で、横向きのバージョンを含めるときに3つの可能な位置を設定する必要があるためです。これは、簡単な方法がない場合に行います。これを達成する方法。

4

1 に答える 1

3

私はここでこの答えを見つけました。

指摘されたように、UIBarButtonItemはUIViewを拡張しないため、frameプロパティはありません。リンクで提供される回避策はプライベートAPIであり、通常はお勧めしません。

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

リンクで提供されている別のソリューションもあります。

于 2013-01-27T05:58:31.210 に答える