मैं इन तरीकों की कार्यक्षमता को समझने की कोशिश कर रहा हूं। क्या आप मुझे उनके शब्दार्थ को समझने के लिए एक सरल प्रयोग प्रदान कर सकते हैं?
प्रलेखन से, उदाहरण के लिए, ConvertPoint: fromView: विधि इस प्रकार वर्णित है:
रिसीवर को दिए गए दृश्य के समन्वय प्रणाली से एक बिंदु को परिवर्तित करता है।
समन्वय प्रणाली का क्या अर्थ है? रिसीवर के बारे में क्या ?
उदाहरण के लिए, क्या यह 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 निर्देशांक में व्यक्त किया गया है। आउटपुट निम्नलिखित है:
रूपांतर: दृश्य से: {100, 100}
दूसरे में, इसके बजाय, ConvertPoint को पर्यवेक्षण (self.window) निर्देशांक में व्यक्त किया जाता है। आउटपुट निम्नलिखित है:
ConvertPoint: toView: {0, 0}
convertPoint
औरconvertRect
वापसी प्रकार में भिन्नता है।CGPoint
याCGRect
। लेकिन क्याfrom
औरto
? क्या अंगूठे का एक नियम है जिसका मैं उपयोग कर सकता हूं? धन्यवाद।