2009-07-27 9 views
8

मेरे पास कुछ सामग्री के साथ UIWebView है और मुझे अपने स्क्रॉल सूचक को थोड़े समय के लिए दृश्यमान बनाने की आवश्यकता है (जैसे [UIScrollView flashScrollIndicators])।UIWebView के स्क्रॉल संकेतक कैसे दिखाएं

कोई विचार यह कैसे करना है?

उत्तर

12

शुरू iOS 5.0 के बाद से, एक अब UIWebView की स्क्रॉल व्यवहार 'scrollview' संपत्ति एक्सेस करके वांछित कार्यशीलता को प्राप्त करने को अनुकूलित कर सकते हैं:

[webView.scrollView flashScrollIndicators]; 
+2

यह स्वीकार्य उत्तर होना चाहिए – toddg

2

प्रकाशित एपीआई के माध्यम से ऐसा करने का कोई वास्तविक तरीका नहीं है, हालांकि मुझे लगता है कि इस मामले में UIScrollView सबव्यू अनुमान लगाना ठीक है, जब तक आप सुनिश्चित करते हैं कि आपका एप्लिकेशन क्रैश नहीं होता है यदि आप नहीं पा रहे हैं UIScrollView:

UIView* scrollView = [webView.subviews objectAtIndex:0]; 
if ([scrollView isKindOfClass:[UIScrollView class]) { 
    [((UIScrollView*)scrollView) flashScrollIndicators]; 
} else { 
    // If Apple changes the view hierarchy you won't get 
    // a flash, but that doesn't matter too much 
} 

संपादित करें: ऊपर काम नहीं करेगा क्योंकि एक UIWebView के पहले subview एक UIScroller, नहीं एक UIScrollView (मुझ पर मेरी स्मृति खेल रहा हो सकता है चाल) है। शायद निम्नलिखित कोशिश करें?

UIView* uiScroller = [webView.subviews objectAtIndex:0]; 
if ([uiScroller respondsToSelector:@selector(displayScrollerIndicators)]) { 
    [((UIScrollView*)uiScroller) performSelector:@selector(displayScrollerIndicators)]; 
} else { 
    // If Apple changes the view hierarchy you won't get 
    // a flash, but that doesn't matter too much 
} 
+0

UIWebView नहीं "UIScrollView" subview यह है केवल "UIScroller" सबव्यू है और UIScroller में FlashScrollIndicators विधि नहीं है (( – oxigen

+0

क्या यह हमेशा मामला रहा है? मुझे लगता है कि यह आईफोन ओएस 2.x. –

+4

में काम कर रहा है, आपको यह स्वीकृति नहीं मिलेगी क्योंकि यूआईएसक्रॉलर निजी API है – stigi

संबंधित मुद्दे