2012-07-02 11 views
7

की textcolor बदलें मैं अपने webview में एक ePub रीडर, जिसमें मैं HTML पृष्ठों को लोड कर रहा हूँ बनाने हूँ:UIWebView

[_webview loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:_pagesPath]]]; 

अब मैं पृष्ठभूमि रंग और और मेरे HTML पृष्ठों के पाठ का रंग बदलना चाहते हैं। मैं का उपयोग कर,

self._webview.backgroundColor = [UIColor blackColor]; 
self._webview.opaque = NO; 

काम कर रहा है यह मेरा वेबव्यू की पृष्ठभूमि का रंग बदल गया है, लेकिन मैं यह भी मेरी वेबव्यू के पाठ का रंग बदलना चाहते हैं। मैं यह कैसे करु?

+0

अपने .html पेज – janusbalatbat

+0

सीएसएस वहाँ प्रोग्रामैटिक रूप से ऐसा करने के लिए कोई तरीका है? क्योंकि कुछ पृष्ठों पर मैं टेक्स्ट रंग काला के रूप में चाहता हूं और कुछ पृष्ठों में मैं टेक्स्ट रंग को सफेद के रूप में चाहता हूं। – ketansahasrabudhe

+0

में कोई समस्या होगी यदि आप सीएसएस का उपयोग करके अपना टेक्स्ट रंगते हैं? क्या आपका मतलब है कि आप एक सिंगल के टेक्स्ट रंग को बदलना चाहते हैं। एचटीएमएल काला या सफेद? – janusbalatbat

उत्तर

10

इस में #fff का उपयोग पाठ का रंग काला रंग

NSString *webStr [email protected]"Your text use"; 

[self._webview loadHTMLString:[NSString stringWithFormat:@"<div id ='foo' align='left' style='line-height:18px; float:left;width:300px; font-size:13px;font-family:helvetica;background-color:transparent; color:#fff;>%@<div>",webStr] baseURL:nil]; 

के लिए इस कोड को color:#fff टैग उपयोग करता है, तो आप अपने HTML में कोड जोड़ने के लिए स्थानीय एचटीएमएल उपयोग

NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"html"]; 

NSString* text = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil]; 
NSLog(@"%@",htmlFile); 

NSLog(@"Hello"); 

[self._webview loadHTMLString:[NSString stringWithFormat:@"<html><body bgcolor=\"#000000\" text=\"#FFFFFF\" face=\"Bookman Old Style, Book Antiqua, Garamond\" size=\"5\">%@</body></html>", text] baseURL: nil]; 
+0

मैं अपनी मशीन से स्थानीय रूप से एचटीएमएल फाइल लोड कर रहा हूं, '[_webview loadRequest: [NSURLRequest requestWithURL: [NSURL fileURLWithPath: _pagesPath]]]; ' – ketansahasrabudhe

+0

मेरा अपडेट उत्तर – Deepesh

+0

देखें अपने EDIT में' चेंज रंग 'क्या है? मैंने अपने सीएसएस – ketansahasrabudhe

0

कोशिश का उपयोग फ़ाइल से जो भी हो रहा है उसे फ़ाइल करें ... फिर केवल आप टेक्स्ट रंग बदल सकते हैं .... या पाठ के रंग को बदलने के लिए अपनी HTML फ़ाइल से पहले कुछ HTML कोड जोड़ें

0

इसे आजमाएं ...

  1. एचटीएमएल फाइल को पार्स करें।
  2. अपनी आवश्यकताओं के अनुसार सामग्री दिखाएं।

उम्मीद है कि इससे मदद मिलती है।

5
[_webview loadHTMLString:[NSString stringWithFormat:@"<html><body style=\"background-color: white; font-size: 17; font-family: HelveticaNeue; color: #ffffff\">%@</body></html>", strDataFromHTML] baseURL: nil]; 
+0

दोस्त मैं अपने सिम्युलेटर से एक HTML फ़ाइल पढ़ रहा हूँ पथ, जैसे '/ उपयोगकर्ता/क्रुनल/लाइब्रेरी/एप्लिकेशन सपोर्ट/आईफोन सिम्युलेटर/5.0/एप्लीकेशन/डी 414 बीसी 1 9-सी 005-4 डी 3 9 8 9 6 डी-ए 6 एफबी 71DE4 डी 21/दस्तावेज़/फर्स्ट.html' और मुझे नहीं पता, अंदर सामग्री क्या होगी 'first.html' – ketansahasrabudhe

1

I made a method कि किसी दिए गए UIColor और UIFont के लिए सही शैली के साथ एक एचटीएमएल शरीर में कुछ पाठ गिर्द घूमती है।

सीधे शब्दों में वेबव्यू में सृजित HTML पॉप:

NSString * htmlString = [MyClass htmlFromBodyString:@"an <b>example</b>" 
              textFont:[UIFont systemFontOfSize:10] 
              textColor:[UIColor grayColor]]; 
[webView loadHTMLString:htmlString baseURL:nil]; 
+0

धन्यवाद, अपना कोड चुरा लिया और इससे एक श्रेणी बनाई :) –

1

यहां एक छोटा स्विफ्ट एक्सटेंशन इस संभाल करने के लिए है:

import UIKit 

extension String 
{ 
    func htmlFormattedString(font:UIFont, color: UIColor) -> String 
    { 
     var numberOfColorComponents:Int = CGColorGetNumberOfComponents(color.CGColor) 
     var colorComponents = CGColorGetComponents(color.CGColor) 

     var colorHexString = "" 
     if numberOfColorComponents == 4 { 
      var red = colorComponents[0] * 255 
      var green = colorComponents[1] * 255 
      var blue = colorComponents[2] * 255 

      colorHexString = NSString(format:"%02X%02X%02X", Int(red), Int(green), Int(blue)) as String 
     } else if numberOfColorComponents == 2 { 
      var white = colorComponents[0] * 255 

      colorHexString = NSString(format:"%02X%02X%02X", Int(white), Int(white), Int(white)) as String 
     } else { 
      return "Color format noch supported" 
     } 

     return NSString(format: "<html>\n <head>\n <style type=\"text/css\">\n body {font-family: \"%@\"; font-size: %@; color:#%@;}\n </style>\n </head>\n <body>%@</body>\n </html>", font.familyName, String(stringInterpolationSegment: font.pointSize), colorHexString, self) as String 
    } 
} 
+0

हैलो, क्या आप मुझे बता सकते हैं कि इस विस्तार को पार करने के बाद मैं अपनी स्ट्रिंग को वेब दृश्य में कैसे लोड कर सकता हूं – user1960169