alexrezit
2013-02-21 21:56:17 +08:00
这些值都是可以动态获取的, 不要写死了, 不然遇上改 UI 累死你.
如果只是想获取系统的按钮的话, 因为 navigation bar 上的按钮是 UIBarButtonItem 类的, 所以位置和大小是按内容自动生成的, 获取时也需要通过 UIEvent 获取.
例如:
- (void)myButtonPressed:(UIBarButtonItem *)button event:(UIEvent *)event
{
NSLog(@"%@", [event.allTouches.anyObject view]);
}
输出:
<UINavigationButton: 0x71cf400; frame = (281 7; 34 30); opaque = NO; layer = <CALayer: 0x718e950>>
(这是一个位于 navigation bar 右侧使用了 refresh 系统图标的按钮)
当然还有很多其他方法, 就不一一列举了.