如果我有视图,如何确定其帧是否包含在可见屏幕内?确定UIView是否包含在屏幕范围内
我目前有这个,但它是非常粗略,不健壮的。
var newPoint = (this.ConvertPointFromView(new PointF(newX, newY), UIApplication.SharedApplication.KeyWindow.RootViewController.View));
if (newPoint.X + _infoBox.Frame.Width > UIApplication.SharedApplication.KeyWindow.RootViewController.View.Frame.Width
|| newPoint.Y + _infoBox.Frame.Height + _glass.Frame.Height > UIApplication.SharedApplication.KeyWindow.RootViewController.View.Frame.Height)
{
//.....
}
为了比较一个矩形是否完全位于一个seconf矩形内,您可以使用CGRectContainsRect(rect2,rect1))函数 – iKatalan
@iKatalan确定,但我认为它们需要在相同的空间中。我的意思是,我怎样才能获得与屏幕相关的视图尺寸 –
@DavidPilkington,你是否曾经用C#(Xamarin)工作过?我看到下面的解决方案不是C#,Xamarin不提供CGRectContainsRect。 –