我有一个可以移动的UIImageView,我想要做的是计算UIImageView从屏幕右侧拖出的像素数。左边很容易,因为你只需要将原点转换为正数。我需要相同的结果,就像它离开左边一样。
答案 0 :(得分:2)
如果您正在寻找视图的原点(左上角)距屏幕右侧多远(假设没有多级子视图和超级视图偏移):
float distRight = [[UIScreen mainScreen] size].width - view.origin.x;
如果您希望视图右侧距离屏幕右侧的距离,只需减去视图的宽度:
float distRight = [[UIScreen mainScreen] size].width - view.origin.x - view.frame.size.width;
(但是,来吧,这是非常基本的几何,即使你无法想象它,你应该能够绘制它然后编码...)
答案 1 :(得分: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);
}