आप दृश्य के केंद्र को शीर्ष दाएं कोने में सेट कर रहे हैं। इसका मतलब है कि आप कहीं भी केंद्र के निचले बाएं हिस्से में ज़ूम कर रहे हैं।
प्रभावी ढंग से ऊपर दाएं कोने तय साथ उसे ज़ूम इस
CGAffineTransform tr = CGAffineTransformScale(self.view.transform, 2, 2);
CGFloat h = self.view.frame.size.height;
[UIView animateWithDuration:2.5 delay:0 options:0 animations:^{
self.view.transform = tr;
self.view.center = CGPointMake(0,h);
} completion:^(BOOL finished) {}];
यह छोड़ दिया नीचे कोने को उड़ा-अप दृश्य के केन्द्र स्थापित करेगा प्रयास करें।
इस कोड में ऊंचाई हार्डकोड नहीं है, जो थोड़ा अधिक पोर्टेबल (आईफोन 5 के आईपैड पर) है।
transform
संपत्ति सेट करने से पहले आपको h
को पहले सहेजने की आवश्यकता है, क्योंकि उसके बाद आपको frame
के मान पर भरोसा नहीं करना चाहिए।
संपादित
यह किसी भी पैमाने s
के लिए काम करने के लिए, इस का उपयोग करें:
CGFloat s = 3;
CGAffineTransform tr = CGAffineTransformScale(self.view.transform, s, s);
CGFloat h = self.view.frame.size.height;
CGFloat w = self.view.frame.size.width;
[UIView animateWithDuration:2.5 delay:0 options:0 animations:^{
self.view.transform = tr;
self.view.center = CGPointMake(w-w*s/2,h*s/2);
} completion:^(BOOL finished) {}];
यह नीचे बाएँ के लिए काम करने के लिए, इस का उपयोग करें:
CGFloat s = 3;
CGAffineTransform tr = CGAffineTransformScale(self.view.transform, s, s);
CGFloat h = self.view.frame.size.height;
CGFloat w = self.view.frame.size.width;
[UIView animateWithDuration:2.5 delay:0 options:0 animations:^{
self.view.transform = tr;
self.view.center = CGPointMake(w*s/2,h-h*s/2);
} completion:^(BOOL finished) {}];
बनाने के यह नीचे दाईं ओर काम करता है, इसका उपयोग करें:
CGFloat s = 3;
CGAffineTransform tr = CGAffineTransformScale(self.view.transform, s, s);
CGFloat h = self.view.frame.size.height;
CGFloat w = self.view.frame.size.width;
[UIView animateWithDuration:2.5 delay:0 options:0 animations:^{
self.view.transform = tr;
self.view.center = CGPointMake(w-w*s/2,h-h*s/2);
} completion:^(BOOL finished) {}];
यह भी देखें: How to scale (zoom) a UIView to a given CGPoint
यादृच्छिक बिन्दुओं को जूम करने के बारे में क्या? उदाहरण के लिए स्क्रीन को टैप करने वाले उपयोगकर्ता के जवाब में? – user978838