UIBarButtons的原点位置

时间:2016-06-17 12:34:05

标签: ios objective-c

我需要知道UIBarButtons的Y和X位置,最好是它的宽度和高度。

我尝试过这个解决方案:UIBarButtonItem: How can I find its frame?但它对我不起作用。

我试过了:

 UIBarButtonItem *item = _bbiPlus ;
 UIView *view = [item valueForKey:@"view"];

 NSLog(@"igrek? %f", view.frame.origin.y);

输出:

0.000.

考虑到它在不同设备上的变化,我怎么能得到item的位置?

2 个答案:

答案 0 :(得分:1)

你需要在自定义视图中使用UIBarButtonItem,在该视图上有指针(valueForKey:@"view"]闻起来像私有API:可以被拒绝,不能保证100%的结果)。 您需要使用convertRect:函数来获取相对于您需要坐标的视图中的坐标。

答案 1 :(得分:0)

试试这个

[self.view convertPoint:yourButton.origin toView:nil];

或换句话说

[view.superview convertPoint:navButton.frame.origin toView:[UIApplication sharedApplication].keyWindow.rootViewController.view]