मैं HTML सामग्री के आधार पर UIWebView की ऊंचाई सेट करना चाहते हैं। मैं एक स्ट्रिंग के आकार हो रही है, लेकिन पैरा, बोल्ड, अलग फ़ॉन्ट आकार आदि के कारण वास्तविक आकार नहीं मिल रहाएचटीएमएल सामग्री के आधार पर UIWebView की ऊंचाई कैसे सेट करें?
उत्तर
मैं आमतौर पर इन पद्धतियों का उपयोग, UIWebview
फ्रेम सेट करने के लिए के रूप में यह सामग्री आकार:
- (void)webViewDidStartLoad:(UIWebView *)webView {
CGRect frame = webView.frame;
frame.size.height = 5.0f;
webView.frame = frame;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
CGSize mWebViewTextSize = [webView sizeThatFits:CGSizeMake(1.0f, 1.0f)]; // Pass about any size
CGRect mWebViewFrame = webView.frame;
mWebViewFrame.size.height = mWebViewTextSize.height;
webView.frame = mWebViewFrame;
//Disable bouncing in webview
for (id subview in webView.subviews) {
if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
[subview setBounces:NO];
}
}
}
वे स्वचालित रूप से कहा जाता है, जब WebView
लोड हो रहा है यह सामग्री है समाप्त हो गया है (आप इस वर्ग के लिए webView
के प्रतिनिधि निर्धारित करते हैं)।
आप subviews से अधिक क्यों पुनरावृत्ति कर रहे हैं पुस्तक को देखने लगता है? बस webView.scrollView का उपयोग करें। मुझे यह भी लगता है कि आपको केवल देखने के लिए बाउंस सेट करना चाहिए क्योंकि इसे केवल एक बार होने की आवश्यकता है। (यह अभी भी एक अच्छा जवाब है।) – griotspeak
टिप्पणी के लिए धन्यवाद - अच्छा विचार :)। मेरे द्वारा पोस्ट किया गया कोड वास्तव में पुराना है, समय से जब स्क्रॉलव्यू सीधे पहुंच योग्य नहीं था। –
- (void)viewDidLoad
{
[super viewDidLoad];
webview.delegate = self;
[webview loadHTMLString:@"<div id='foo' style='background: red'>The quick brown fox jumped over the lazy dog.</div>" baseURL:nil];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *output = [webview stringByEvaluatingJavaScriptFromString:@"document.getElementById(\"foo\").offsetHeight;"];
NSLog(@"height: %@", output);
}
यह भी देखना How to determine UIWebView height based on content, within a variable height UITableView?
लेकिन मैं UITableView में UIWebView है और प्रत्येक पंक्ति UIWebView है मैं तो कैसे की गणना क्योंकि तालिका ऊंचाई से पहले cellForRowAtIndex कहा जाता है की स्थापना की। – KPIteng
इस कोड
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
height= [[self.webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] floatValue];
}
खैर प्रयास करें, हर वेब दृश्य एक UIScrollView यह में बनाया गया है, तो मैं करने के लिए पेज के लिए इंतज़ार कर की कोशिश करेंगे स्क्रॉल व्यू की सामग्री में लोड करें और फिर टैप करें पृष्ठ की ऊंचाई प्राप्त करने के लिए आकार बदलें।
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGFloat height = webView.scrollView.contentSize.height;
}
इस कोड में ऊंचाई क्या है। वेब दृश्य ऊंचाई के लिए कोई संपत्ति है। –
आप tableviewcell में वेबव्यू है, तो निम्न के रूप में heightForRowAtIndexPath में NSAttributedString आकार की ऊंचाई तक सेल की ऊंचाई सेट।
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
NSAttributedString *attributedText = [NSString getHTMLAttributedString:@"HTML Content"];
CGSize size = CGSizeMake(300, CGFLOAT_MAX);
CGRect paragraphRect = [attributedText boundingRectWithSize:size
options:(NSStringDrawingUsesLineFragmentOrigin)
context:nil];
return paragraphRect.size.height;
}
+(NSAttributedString *) getHTMLAttributedString:(NSString *) string{
NSError *errorFees=nil;
NSString *sourceFees = [NSString stringWithFormat:
@"<span style=\"font-family: 'Roboto-Light';font-size: 14px\">%@</span>",string];
NSMutableAttributedString* strFees = [[NSMutableAttributedString alloc] initWithData:[sourceFees dataUsingEncoding:NSUTF8StringEncoding]
options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]}
documentAttributes:nil error:&errorFees];
return strFees;
}
- 1. एक चरणीय ऊंचाई UITableView के भीतर, सामग्री के आधार पर UIWebView ऊंचाई कैसे निर्धारित करें?
- 2. एचटीएमएल/सीएसएस सेट div की ऊंचाई पर
- 3. तालिका में अपनी सामग्री के आधार पर पंक्ति ऊंचाई कैसे सेट करें?
- 4. सामग्री के आधार पर गतिशील UITableView सेल ऊंचाई
- 5. इंडेक्स के सेट के आधार पर सरणी की सामग्री हटाएं
- 6. मैं स्क्रीन ऊंचाई के आधार पर ग्रिड व्यू सेल की ऊंचाई कैसे सेट कर सकता हूं?
- 7. एक div की ऊंचाई को किसी अन्य div की ऊंचाई के आधार पर कैसे बनाया जाए?
- 8. UIWebView चौड़ाई और ऊंचाई सेट करना
- 9. एक्सप्रेस: पथ/फ़ाइल के आधार पर सामग्री-प्रकार सेट करना?
- 10. किसी सेल की सामग्री के आधार पर DataGridRow की पृष्ठभूमि सेट करें
- 11. ऊंचाई के आधार पर एलिमेंट चौड़ाई सेट करना सीएसएस
- 12. सामग्री फिट करने के लिए UIWebView ऊंचाई का आकार
- 13. पंक्तियों में शामिल होने पर सामग्री के आधार पर HTML तालिका सेल ऊंचाई को स्वचालित करें
- 14. आईफोन एसडीके, उद्देश्य-सी में UIWebView की सामग्री ऊंचाई कैसे प्राप्त करें?
- 15. जानकारी प्राप्त करें एचटीएमएल ऊंचाई शैली द्वारा या सामग्री
- 16. UIWebView - सीमित सामग्री चौड़ाई
- 17. मोनोटेच uiwebview स्थानीय एचटीएमएल
- 18. ग्रिडस्प्लिटर 'फलक' की प्रारंभिक ऊंचाई कैसे सेट करें?
- 19. किसी अन्य तत्व की ऊंचाई से मेल खाने के लिए तत्व की ऊंचाई कैसे सेट करें?
- 20. एंड्रॉइड में लेआउट की अधिकतम ऊंचाई कैसे सेट करें?
- 21. किसी अन्य घटक की एक ही ऊंचाई पर एक लेआउट घटक की ऊंचाई कैसे सेट करें?
- 22. सीएसएस में इनपुट (टेक्स्ट) फ़ील्ड की ऊंचाई कैसे सेट करें?
- 23. इसकी सामग्री के आधार पर एक UIWebView गतिशील रूप से आकार बदलना फ़ॉन्ट आकार
- 24. विनफॉर्म: डेटाग्रिडव्यू: पंक्तियों की संख्या के आधार पर ऊंचाई (ऑटोोज़ाइज)
- 25. HttpURLConnection पर सामग्री प्रकार कैसे सेट करें?
- 26. UIWebview सामग्री को UIImage
- 27. iframe के भीतर गतिशील शंकु के आधार पर iframe की ऊंचाई कैसे बदलें?
- 28. पर्यावरण के आधार पर फेसबुक प्रमाणीकरण कुंजी कैसे सेट करें?
- 29. पाठ सामग्री के आधार पर NSTableView में पंक्ति ऊंचाई को कैसे बढ़ाया जाए?
- 30. फ्लेक्स 4: अपनी सामग्री ऊंचाई पर स्पार्क सूची ऊंचाई सेट करना
[क्या आप की कोशिश की है?] (Http://whathaveyoutried.com) – thegrinner
वेब-दृश्य, एक स्क्रॉल मिल गया तो आप शायद उस आवश्यकता नहीं है। – alexandresoli
मेरे पास UITablView में प्रत्येक पंक्ति में वेबदृश्य है। मुझे ऊंचाई पर हर पंक्ति की वेबव्यू ऊंचाई नहीं मिल रही है ForRowAtIndexPath। तो मैं उलझन में हूं कि प्रत्येक पंक्ति ऊंचाई ऊंचाई में कैसे सेट करें ForRowAtIndexPath। – KPIteng