2009-02-27 10 views
64

कई अनुप्रयोगों में एक गतिविधि संकेतक दृश्य उपयोगी है। आईफोन पर एक गतिविधि सूचक दृश्य को जोड़ने, सक्रिय करने और खारिज करने के बारे में कोई विचार?आईफोन पर गतिविधि सूचक दृश्य का उपयोग कैसे करें?

इसके लिए सभी विधियों का स्वागत है।

+0

मैं [MBProgressHUD] ने पाया (https://github.com करने के लिए जाना/jdg/MBProgressHUD), जो एक अच्छा मोडल सूचक ऊपर रखता है। इसे लागू करना आसान था। – foz

उत्तर

121

बनाएँ:

spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
[spinner setCenter:CGPointMake(kScreenWidth/2.0, kScreenHeight/2.0)]; // I do this because I'm in landscape mode 
[self.view addSubview:spinner]; // spinner is not visible until started 

प्रारंभ:

[spinner startAnimating]; 

बंद करो:

यह की तरह कुछ का उपयोग दिखाने के लिए
[spinner stopAnimating]; 

जब आप अंत में कर लेंगे, तो स्पिनर को दृश्य से हटा दें और छोड़ दें।

+0

धन्यवाद जेन सेल्स –

+0

स्वचालित रूप से स्पिनर को केंद्र कैसे बनाएं? – itsazzad

+0

[स्पिनर स्टॉपएनीमेटिंग]; लोडिंग छुपा नहीं है। मैं अभी भी लोडिंग एनीमेशन देख सकता हूं। –

7

इस पर प्रलेखन बहुत स्पष्ट है। यह एक UIView सबक्लास है ताकि आप इसे किसी अन्य दृश्य की तरह उपयोग कर सकें। एनीमेशन को शुरू/बंद करने के लिए आप

[activityIndicator startAnimating]; 
[activityIndicator stopAnimating]; 
10

ओपन सोर्स वर्डप्रेस एप्लिकेशन पर एक नज़र डालें। उनके पास एक बहुत ही पुनः उपयोग करने योग्य विंडो है जिसे उन्होंने "प्रगति में गतिविधि" प्रदर्शित करने के लिए बनाया है, जो कि आपका एप्लिकेशन वर्तमान में प्रदर्शित होने वाले किसी भी दृश्य के शीर्ष पर है।

http://iphone.trac.wordpress.org/browser/trunk

फ़ाइलें आप चाहते हैं:

  • WPActivityIndicator.xib
  • RoundedRectBlack.png
  • WPActivityIndicator.h
  • WPActivityIndicator.m

फिर

[[WPActivityIndicator sharedActivityIndicator] show]; 

और साथ छिपाने:

[[WPActivityIndicator sharedActivityIndicator] hide]; 
+2

धन्यवाद, वही है जो मैं भी ढूंढ रहा था। ध्यान दें कि WPActivityIndicator का नाम बदला गया है (और refactored) WPProgressHUD (http://iphone.trac.wordpress.org/browser/trunk/Classes/WPProgressHUD.h देखें)। –

+0

साझा एक्टिविटी इंडिकेटर कि क्लास मेथोस विधि आपके लिंक में नहीं मिली है। –

9

के संबंध में:

खुला स्रोत वर्डप्रेस आवेदन पर एक नजर डालें। उनके पास एक बहुत ही पुनः उपयोग करने योग्य विंडो है जिसे उन्होंने "प्रगति में गतिविधि" प्रदर्शित करने के लिए बनाया है, जो कि आपका एप्लिकेशन वर्तमान में प्रदर्शित होने वाले किसी भी दृश्य के शीर्ष पर है।

ध्यान दें कि यदि आप इस कोड का उपयोग करते हैं तो आपको अनुरोध करने वाले किसी भी उपयोगकर्ता को अपने स्वयं के एप्लिकेशन में सभी स्रोत कोड प्रदान करना होगा। आपको जागरूक होने की आवश्यकता है कि वे आपके कोड को दोबारा लगाने और स्टोर पर खुद को बेचने का फैसला कर सकते हैं। यह सब जीएनयू जनरल पब्लिक लाइसेंस (जीपीएल) की शर्तों के तहत प्रदान किया जाता है।

यदि आप अपने सोर्सकोड को खोलने के लिए मजबूर नहीं होना चाहते हैं तो आप जीपीएल को अपने आप लागू करने के लिए मजबूर किए बिना, संदर्भित गतिविधि प्रगति विंडो सहित वर्डप्रेस आईफोन एप्लिकेशन से कुछ भी नहीं उपयोग कर सकते हैं।

1

मुझे लगता है कि आपको छिपे हुए बेहतर उपयोग करना चाहिए।

activityIndicator.hidden = YES 
2

Storyboard- का उपयोग

Create-

  • main.storyboard पर जाएं (यह अपने Xcode के बाएं हाथ की ओर theProject नेविगेटर में पाया जा सकता) और ऑब्जेक्ट लाइब्रेरी से "गतिविधि संकेतक दृश्य" खींचें और छोड़ें।

Activity Indicator View from Object Library

  • हेडर फाइल करने के लिए और एक IBOutlet बनाने जाओ UIActivityIndicatorView-

    @interface ViewController : UIViewController 
    
        @property (nonatomic,strong) IBOutlet UIActivityIndicatorView *activityIndicatorView; 
    
    @end 
    
  • के लिए UIActivityIndicatorView को दुकानों से कनेक्शन स्थापित करें।

प्रारंभ:

जब आप (मीटर) अपने कार्यान्वयन फ़ाइल में निम्न कोड का उपयोग कर गतिविधि सूचक शुरू करने की आवश्यकता के लिए निम्न कोड का प्रयोग करें -

[self.activityIndicatorView startAnimating]; 

बंद करो:

फॉलोि का उपयोग कर गतिविधि संकेतक को रोकने की आवश्यकता होने पर निम्न कोड का उपयोग करें अपने कार्यान्वयन फ़ाइल में एनजी कोड (मीटर) -

[self.activityIndicatorView stopAnimating]; 
0

गतिविधि सूचक 2 सेकंड शो और अगले पृष्ठ

@property(strong,nonatomic)IBOutlet UIActivityIndicator *activityindctr; 

-(void)viewDidload { [super viewDidload];[activityindctr startanimating]; [self performSelector:@selector(nextpage) withObject:nil afterDelay:2];} 

-(void)nextpage{ [activityindctr stopAnimating]; [self performSegueWithIdentifier:@"nextviewcintroller" sender:self];} 
0
- (IBAction)toggleSpinner:(id)sender 
{ 
    if (self.spinner.isAnimating) 
    { 
     [self.spinner stopAnimating]; 
     ((UIButton *)sender).titleLabel.text = @"Start spinning"; 
     [self.controlState setValue:[NSNumber numberWithBool:NO] forKey:@"SpinnerAnimatingState"]; 
    } 
    else 
    { 
     [self.spinner startAnimating]; 
     ((UIButton *)sender).titleLabel.text = @"Stop spinning"; 
     [self.controlState setValue:[NSNumber numberWithBool:YES] forKey:@"SpinnerAnimatingState"]; 
    } 
} 
संबंधित मुद्दे