我有一个可以移动的 UIImageView,我想做的是计算 UIImageView 从屏幕右侧拖出多少像素。左边很容易,因为您只需要将原点转换为正数。我需要和左边一样的结果。
问问题
89 次
2 回答
2
如果您正在寻找视图的原点(左上角)与屏幕右侧的距离(假设没有多级偏移的子视图和父视图):
float distRight = [[UIScreen mainScreen] size].width - view.origin.x;
如果您想要视图右侧与屏幕右侧的距离,只需减去视图的宽度即可:
float distRight = [[UIScreen mainScreen] size].width - view.origin.x - view.frame.size.width;
(不过来吧,这是很基础的几何图形,就算你想象不到,也应该能画出来,然后编码……)
于 2012-11-16T21:19:17.660 回答
0
此代码未经测试,但应提供调用方法,您会发现右偏移或左偏移。
-(float)isOffScreenToLeft{
float distFromLeftEdge = [[UIScreen mainScreen] size].width - imgview.origin.x;
if(distFromLeftEdge < 0){
NSLog("Offscreen to left %f pixels.", fabs(distFromLeftEdge));
return fabs(distFromLeftEdge));
}
-(float)isOffScreenToRight{
float rightEdgePosition = ([[UIScreen mainScreen] size].width - imgview.origin.x) + imgview.frame.size.width;
float distFromRightEdge = [[UIScreen mainScreen] size].width - rightEdgePosition
//If ipad in portrait
if(distFromRightEdge < 0){
NSLog("Offscreen to right %f pixels.", fabs(distFromRightEdge));
return fabs(distFromLeftEdge);
}
于 2012-11-16T21:50:11.383 回答