矩形框比較的2個函數
- bool CGRectContainsRect(CGRect rect1, CGRect rect2)
- bool CGRectIntersectsRect(CGRect rect1, CGRect rect2)
- 判斷rect1和rect2是否有重疊
注意:rect1和rect2要在同一個坐標系撰筷,比較結果才準確
轉換坐標系總結
view2坐標系 : 以view2的左上角為坐標原點
view1坐標系 : 以view1的左上角為坐標原點
CGRect newRect = [view1 convertRect:rect fromView:view2];
// 讓rect這個矩形框, 從view2坐標系轉換到view1坐標系, 得出一個新的矩形框newRect
// rect和view2的含義 : 用來確定矩形框原來在哪
CGRect newRect = [view1 convertRect:rect toView:view2];
// 讓rect這個矩形框回还, 從view1坐標系轉換到view2坐標系, 得出一個新的矩形框newRect
// rect和view1的含義 :用來確定矩形框原來在哪
獲得一個控件在window中的位置和尺寸
- 以獲得redView在window中的位置和尺寸為例
CGRect newRect = [[UIApplication sharedApplication].keyWindow convertRect:redView.bounds fromView:redView];
CGRect newRect = [[UIApplication sharedApplication].keyWindow convertRect:redView.frame fromView:redView.superview];
CGRect newRect = [redView convertRect:redView.bounds toView:[UIApplication sharedApplication].keyWindow];
CGRect newRect = [redView.superview convertRect:redView.frame toView:[UIApplication sharedApplication].keyWindow];
CGRect newRect = [redView convertRect:redView.bounds toView:nil];
CGRect newRect = [redView.superview convertRect:redView.frame toView:nil];
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者