2012-08-10 16 views
9

लगता है मैं UIWebView वह यह है कि फायरिंग रहता में didFinishLoad विधि के साथ एक समस्या है। मैं अनुमानित प्रगति solution का प्रयास करना चाहता हूं, हालांकि मुझे नहीं पता कि दुर्भाग्य से उन ढांचे को कहां ढूंढना है। मैं माउंटेन शेर चला रहा हूं और एक्सकोड के नवीनतम संस्करण का उपयोग कर रहा हूं। इसके अलावा, UIWebView कई बार फायरिंग के लिए, यह जाने का सबसे अच्छा तरीका है या वहां नई विधियां हैं। ऐसा लगता है कि SO पर जावास्क्रिप्ट answer है, हालांकि यह मेरे लिए काम नहीं करता है। यह 200 9 में वापस दिनांकित था, और मैंने सुना है कि ऐप्पल किसी भी ऐप को अस्वीकार करता है जो एक निजी एपीआई का उपयोग करता है। कृपया इसमें मेरी सहायता करें!कैसे UIWebView के अंतिम लोड (तैयार राज्य 4)

धन्यवाद सबको!

उत्तर

2
के बारे में क्या रखने

के रूप में एक कनेक्शन अनुरोध और अनुरोध के विभिन्न राज्यों के लिए अलग कॉलबैक प्राप्त करने के लिए, बताते हैं बकाया अनुरोधों की संख्या का ट्रैक?

@interface WebViewDelegate : NSObject<UIWebViewDelegate> 
@property (nonatomic) NSUInteger numberOfRunningRequests ; 
@end 

@implementation WebViewDelegate 

-(void)webViewDidStartLoad:(UIWebView *)webView 
{ 
    self.numberOfRunningRequests = self.numberOfRunningRequests + 1 ; 
} 

-(void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    self.numberOfRunningRequests = self.numberOfRunningRequests - 1 ; 
    if (self.numberOfRunningRequests == 0) 
    { 
     NSLog(@"done!\n") ; 
    } 
} 

@end 

@implementation AppDelegate 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch. 
    self.window.backgroundColor = [UIColor whiteColor]; 
    [self.window makeKeyAndVisible]; 

    UIWebView * webView = [[ UIWebView alloc ] initWithFrame:self.window.bounds ] ; 
    static WebViewDelegate * delegate = nil ; 
    delegate = [[ WebViewDelegate alloc ] init ] ; 
    webView.delegate = delegate ; 

    [self.window addSubview:webView ] ; 
    NSURLRequest * request = [ NSURLRequest requestWithURL:[ NSURL URLWithString:@"http://stackoverflow.com"] ]; 
    [ webView loadRequest:request ] ; 
    return YES; 
} 

@end 

(एक Xcode नमूना परियोजना बनाएं और इस के साथ अपने AppDelegate.m की जगह)

+0

अच्छा समाधान ! काफी दिलचस्प! –

+0

हाँ अच्छा है। यह मेरे लिए काम करता है। –

0

यदि ढांचे के माध्यम से आप सीधे उस पृष्ठ पर कोड में आयात की गई .h फ़ाइलों को here's the link से सीधे डाउनलोड करने के लिए लिंक करते हैं। आगे की मदद के लिए आपको और विस्तार करने की आवश्यकता होगी।

संपादित करें: इसके अतिरिक्त, कृपया देखें: NSURLConnection NSURLRequest proxy for asynchronous web service calls

जुड़ा हुआ जवाब कैसे NSURLRequest ऐसे - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

+0

असल सवाल वेब दृश्य के सभी 4 लोड हो रहा है बाईपास और बनाने के लिए है: मैं कुछ परीक्षण कोड काम करने के लिए लगता है कि ऊपर मार पड़ी है पृष्ठ लोड तैयार राज्य 4 –

+0

@ chaitanya.varanasi "तैयार राज्य 4" से आपका क्या मतलब है? –

+0

तैयार राज्य ऐसी घटना आधारित चीज है जहां वेबपृष्ठ लोड करने वाले राज्यों के माध्यम से जाता है, ऐसे –