सेट करें यदि मैं CGAffineTransform
के साथ सही ढंग से स्केलिंग को समझता हूं तो इसके केंद्र में परिवर्तन होता है।CGAffineTransform के साथ स्केल करें और एंकर
विशेष रूप से:
self.frame = CGRectMake(0,0,100,100);
self.transform = CGAffineTransformMakeScale(2, 2);
NSLog(@"%f;%f;%f;%f", self.frame.origin.x, self.frame.origin.y, self.frame.size.width, self.frame.size.height);
प्रिंटों:
-50;-50;200;200
आप कैसे एक CGAffineTransform पैमाने एक विशिष्ट लंगर बिंदु का उपयोग करता है बना सकता हूँ (जैसे कि 0; 0)?
यह अजीब है, मैं, iOS 7 पर हूँ और यह केंद्र से पैमाने पर नहीं है, लेकिन यह से मापता है ऊपरी बाएं ... भले ही मैं एंकरपॉइंट को (0.5, 0.5) सेट करता हूं, यह केंद्र से स्केल नहीं करता है। किसी के पास कोई विचार है? –
@ वानडुट्रान मैंने पाया कि दृश्य की 'परत' पर' CATransform3D' का उपयोग करके सही तरीके से व्यवहार किया जाता है और 'एंकरपॉइंट' का पालन करता है। कोशिश करें कि 'CGAffineTransformMakeScale' का उपयोग करने के बजाय, जो किसी भी तरह से विंडो शीर्ष और बाएं सीमाओं को दृश्य को बाधित करता है। –
@ जोनाथनलिन मैं कैटरन्सफॉर्म 3 डी के साथ परत का उपयोग करता हूं जो आईओएस 7 – ZYiOS