मैं ऊपर और WebView के scrollview की तह तक सफेद subviews जोड़ कर ऐसा कर सकता था। मैं वेबव्यू की सामग्री को नियंत्रित करता हूं, इसलिए मुझे पता है कि सफेद ठीक है - अगर आप मनमानी सामग्री लोड कर रहे हैं तो यह काम नहीं करेगा।
// _topCover and _bottomCover are ivar UIViews
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
// with cover views 300pt high, I couldn't scroll far enough to see the shadow,
// even in portrait on an iPad, which gives you the longest scroll distance
CGFloat coverage = 300;
_topCover = [[UIView alloc] initWithFrame:CGRectMake(0, -coverage, webView.bounds.size.width, coverage)];
_bottomCover = [[UIView alloc] initWithFrame:CGRectMake(0, webView.scrollView.contentSize.height, webView.bounds.size.width, coverage)];
_topCover.backgroundColor = [UIColor whiteColor];
_bottomCover.backgroundColor = [UIColor whiteColor];
// in case the webView is resized, e.g. by rotating the device
_topCover.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth;
_bottomCover.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth;
[webView.scrollView addSubview:_topCover];
[webView.scrollView addSubview:_bottomCover];
}
मैं इसे यह पृष्ठ लोड होने लग जाते हैं ताकि webView.scrollView.contentSize.height
मुझे सही ऊंचाई दे देंगे। मुझे यकीन नहीं है कि यह कैसे काम करेगा यदि आपके पृष्ठ गतिशील रूप से ऊंचाई बदल रहे हैं। मेरा पृष्ठ केवल एक बार लोड होता है; अगर आपका पुनः लोड हो रहा है, तो आप दक्षता के लिए पहली बार alloc
/init
_topCover
और _bottomCover
पर चलना चाहेंगे।
अद्यतन: मुझे यकीन नहीं है कि autoresizingMask
का मेरा उपयोग, जब दृश्य घूमता है तो पर्याप्त है।आप घूर्णन के बाद कवर आकार बदलने के लिए UIViewController
कि आपके UIWebView
शामिल में इस डाल करने के लिए आवश्यकता हो सकती है:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
CGFloat coverage = 300;
_topCover.frame = CGRectMake(0, -coverage, self.webView.bounds.size.width, coverage);
_bottomCover.frame = CGRectMake(0, self.webView.scrollView.contentSize.height, self.webView.bounds.size.width, coverage);
}
स्रोत
2012-10-08 04:00:12
मैं चाहते हैं इसे भी ढूंढें, क्योंकि इससे UIWebView में बाउंस अच्छा लगेगा ... –
हां, यह सबसे कष्टप्रद है, मुझे समाधान में दिलचस्पी होगी – MrCranky
संभावित डुप्लिकेट [UIWebView छाया हटाएं?] (http://stackoverflow.com/questions/1074320/remove-uiwebview-sh adow) – JosephH