uiview - iOS: how to move ball -
नमस्ते मैं आईओएस पर एक चलती गेंद कैसे बनाऊँ?
-
जब प्रोग्राम शुरू होता है, मैं स्क्रीन के बाईं ओर गेंद को प्रदर्शित करूँगा। इसके बाद, हर बार जब मैं एक
UIButton
पर क्लिक करता हूं, तो मैं उसी एक्स-अक्ष पर दाईं तरफ गेंद कैसे ले जाता हूं -
मैं गेंद को प्रदर्शित करने में कामयाब रहा, लेकिन जब
UIButton
दबाया जाता है, तो मैं उसका स्थान कैसे अपडेट और फिर से करना चाहता हूं? वर्तमान में प्रत्येक बार जब मैंUIButton
दबाता हूं, तो यह एक नई गेंद बनाता है और पुरानी गेंदों को साफ़ नहीं किया जाता है। -
मैं इसे समझता हूं क्योंकि मैं गेंद के एक नए उदाहरण को पुनः बनाता हूं।
यह मेरा कोड है ....
ballView.m मजबूत>
@implementation BallView - (आईडी) initWithFrame: (CGRect) फ्रेम {आत्म = [सुपर initWithFrame: फ्रेम]; यदि (स्वयं) {[स्वयं सेटबैकग्राम रंग: [UIColor clearColor]]; } स्वस्थ वापसी; } - (शून्य) ड्रॉरेक्ट: (सीजीएफ़टीएटी) गंदा रेखांकित {एनएसएलॉग (@ "ड्रॉरेक्ट" में); // ग्राफिक्स संदर्भ प्राप्त करें और इसे साफ़ करें CGContextRef ctx = UIGraphicsGetCurrentContext (); // एक ठोस बॉल CGContextSetRGBFillColor ड्रा करें (सीटीएक्स, 0, 0, 0, 1); CGContextFillEllipseInRect (सीटीएक्स, गंदारेक्ट); [स्वयं सेटडेड्स डिस्प्ले]; } - (BOOL) कर सकते हैं फर्स्टरस्पॉन्डर {हां लौटें; }
MoveBallController.m
- (शून्य) चलने वाला बटन {CGRect viewFrame = CGRectMake (0, 0, 30, 30 ); BallView * गेंद = [[BallView alloc] initWithFrame: दृश्यदर्शी]; [[स्वयं डाटव्यू] ऐडस्यूबव्यू: गेंद]; }
एक BallView
उदाहरण बनाएँ और उसे एक में संग्रहीत करें उदाहरण चर। तब जब बटन क्लिक किया जाता है तो आप बस के फ्रेम को अपडेट कर सकते हैं:
- (शून्य) दृश्यडिडलोड {[सुपर व्यूडडलोड]; सीजीआरएक्ट दृश्यफ्रेम = सीजीआरएक्टमेक (0, 0, 30, 30); _बॉल = [[BallView alloc] initWithFrame: viewFrame]; [[स्वयं डाटव्यू] ऐडस्यूब्यूव्यू: _बॉल]; } - (शून्य) चलने वाला बटन {CGRect फ़्रेम = _ball.frame; Frame.origin.x + = 5; // कुछ उचित वेतन वृद्धि _ball.frame = फ्रेम का उपयोग करें; }
जहां _ball
आपका नया उदाहरण चर है।
Comments
Post a Comment