在一个场景中,我在实用程序检查器中有这些坐标的UIButton _btnBuffalo (旁边的其他人):
在我的ViewController中,我试图按下这样的按钮:
CGRect btnRect = _btnBuffalo.bounds;
不幸的是我用NSLog得到了这个结果:
btnRect x: 0.000000, y: 0.000000, w: 160.000000, h: 120.000000
我真的明白为什么x和y是0.000000,有什么想法吗?
答案 0 :(得分:3)
您应该拨打_btnBuffalo.frame
而不是_btnBuffalo.bounds
。 bounds
始终为任何视图返回zero origin
。
答案 1 :(得分:1)
frame
属性在超视图的坐标系中指定视图的大小和位置。所以你必须这样做。
CGRect btnRect = _btnBuffalo.frame;
NSLog(@"%f ,%f ,%f ,%f",btnRect.origin.x,btnRect.origin.y,btnRect.size.width,btnRect.size.height);