ฉันพยายามเข้าใจฟังก์ชันของวิธีการเหล่านี้ คุณช่วยให้เราใช้งานง่าย ๆ เพื่อทำความเข้าใจความหมายของพวกเขาได้หรือไม่?
จากเอกสารตัวอย่างเช่นconvertPoint: fromView: method ถูกอธิบายดังนี้:
แปลงจุดจากระบบพิกัดของมุมมองที่กำหนดเป็นของผู้รับ
อะไรระบบพิกัดเฉลี่ย? แล้วผู้รับล่ะ
ตัวอย่างเช่นมันเหมาะสมหรือไม่เมื่อใช้convertPoint: fromView:ชอบสิ่งต่อไปนี้หรือไม่
CGPoint p = [view1 convertPoint:view1.center fromView:view1];
ใช้ยูทิลิตี้ NSLog ฉันได้ตรวจสอบว่าค่า p สอดคล้องกับศูนย์กลางของ view1
ขอบคุณล่วงหน้า.
แก้ไข:สำหรับผู้ที่สนใจฉันได้สร้างข้อมูลโค้ดง่ายๆเพื่อทำความเข้าใจกับวิธีการเหล่านี้
UIView* view1 = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 150, 200)];
view1.backgroundColor = [UIColor redColor];
NSLog(@"view1 frame: %@", NSStringFromCGRect(view1.frame));
NSLog(@"view1 center: %@", NSStringFromCGPoint(view1.center));
CGPoint originInWindowCoordinates = [self.window convertPoint:view1.bounds.origin fromView:view1];
NSLog(@"convertPoint:fromView: %@", NSStringFromCGPoint(originInWindowCoordinates));
CGPoint originInView1Coordinates = [self.window convertPoint:view1.frame.origin toView:view1];
NSLog(@"convertPoint:toView: %@", NSStringFromCGPoint(originInView1Coordinates));
ในทั้งสองกรณี self.window เป็นผู้รับ แต่มีความแตกต่าง ในกรณีแรกพารามิเตอร์ convertPoint จะแสดงในพิกัด view1 ผลลัพธ์มีดังต่อไปนี้:
convertPoint: จากมุมมอง: {100, 100}
ในอันที่สองแทน convertPoint จะแสดงในพิกัด superview (self.window) ผลลัพธ์มีดังต่อไปนี้:
convertPoint: toView: {0, 0}
convertPoint
และconvertRect
แตกต่างกันในประเภทผลตอบแทน หรือCGPoint
CGRect
แต่สิ่งที่เกี่ยวfrom
และto
? มีกฎง่ายๆที่ฉันสามารถใช้? ขอบคุณ.