2013-05-15 54 views
1

我們如何獲得UIView的全部四個座標?我認爲這就是它。UIView的CGPoint

CGPoint viewOriginX = [self.view convertPoint:self.view.frame.origin fromView:nil]; 

但是,CGPoint的右上角,左下角和右下角點呢?

回答

7
CGRect frame = [self.view frame]; 
CGPoint topLeft = CGPointMake(CGRectGetMinX(frame), CGRectGetMinY(frame)); 
CGPoint topRight = CGPointMake(CGRectGetMaxX(frame), CGRectGetMinY(frame)); 
CGPoint bottomLeft = CGPointMake(CGRectGetMinX(frame), CGRectGetMaxY(frame)); 
CGPoint bottomRight = CGPointMake(CGRectGetMaxX(frame), CGRectGetMaxY(frame)); 

如果您需要在特定視圖中的座標,第一行應該像

CGRect frame = [self.view convertRect:[self.view bounds] toView:someOtherView]; 
+0

調用'convertRect:toView:'與視圖的'frame'並沒有真正做了很多因爲框架是相對於* superview的*座標系的。你通常使用'bounds'或者在superview上調用方法。 – omz

+0

好點。更新。謝謝。 –