ইউআইবিউবভিউ পটভূমি সাফ রঙে সেট করা আছে, তবে এটি স্বচ্ছ নয়


140

আমি iOS এসডিকে সর্বশেষ সংস্করণ এবং এক্সকোড 4.2 ব্যবহার করে একটি আইওএস 4 অ্যাপ্লিকেশন বিকাশ করছি।

আমার সাথে একটি এক্সআইবি আছে যার UIWebViewসাথে আলফা = 1.0 রয়েছে , ব্যাকগ্রাউন্ডে ক্লিয়ার কালার সেট আছে এবং অপ্পেক সেট করা নেই। এই XIB এ আমি এই কোড সহ পটভূমি হিসাবে একটি চিত্র সেটআপ করেছি:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"AboutBackground.png"]];
        self.view.backgroundColor = background;
        [background release];
    }
    return self;
}

UIWebViewএকটি স্ট্যাটিক এইচটিএমএল দেখানো হয়:

<html><head></head><body style=\"margin:0 auto;text-align:center;background-color: transparent; color:white\">...</body></html>

আইওএস 5 সিমুলেটারে, এর পটভূমি স্বচ্ছ, তবে একটি আইওএস 4 ডিভাইসে ধূসর।

কোন সুত্র?


ইন্টারফেস বিল্ডারে আপনার ওয়েবভিউতে কেবল একটি ইউআইআইমেজভিউ রাখার চেষ্টা করুন এবং এটি আপনার চিত্র সেট করুন।
Stas

আপনার উত্তরের জন্য ধন্যবাদ, তবে ওয়েব ভিউ পুরো স্ক্রিনটি পূরণ করে না।
ভ্যানসফ্যানেল

উত্তর:


360

এছাড়াও সেট করুন:

[webView setBackgroundColor:[UIColor clearColor]];
[webView setOpaque:NO];

3
লোড এইচটিএমএল স্ট্রিং কল করার পরে যদি আমি ব্যাকগ্রাউন্ড রঙ এবং অস্বচ্ছতা সেট করি তবে এটি আমার পক্ষে কাজ করে। দেখে মনে হচ্ছে লোড এইচটিএমএল স্ট্রিং এই দুটি মানকেই পুনরায় সেট করে।
জাস্টিন অ্যান্ডারসন

1
আমি জানি প্রশ্নটি আইওএসের জন্য ছিল, তবে ওএসএক্সের জন্য যদি এই প্রশ্ন ও উত্তরটি সমস্যার সমাধান করে এবং আইওএস সহ তাদেরকেও সহায়তা করতে পারে।
ভলমাইক

এই সমাধানটি এখনও আইওএস 12.1, এক্সকোড 10.1 এবং সুইফটে কাজ করছে।
ভাভিন_ম

15
     /*for ios please set this*/

     [webViewFirst setOpaque:NO];

     /*for html please set this*/
     <body style="background:none">

9

আপনার ওয়েবভিউয়ের ব্যাকগ্রাউন্ডটি সাফ রঙে সেট করার পাশাপাশি এটিও নিশ্চিত করুন যে আপনি অস্বচ্ছটিকে মিথ্যাতে সেট করেছেন।


আপনার উত্তরের জন্য ধন্যবাদ, তবে ইন্টারফেস বিল্ডারে অস্বচ্ছ সেট করা হয়নি।
ভ্যানফ্যানেল

[সুপার ভিউডিডলড: অ্যানিমেটেড] কল করার পরে এটি সেট করার চেষ্টা করুন; ।
ইলেগিয়া

হাই, আমার একই সমস্যা আছে..আইওএস 5-এ তবে আইওএস 4-এ ধূসর ব্যাকগ্রাউন্ড রয়েছে। তুমি এটা কিভাবে সমাধান করেছিলে?
ব্যবহারকারী542584


3

আপনি এই কোডটি চেষ্টা করে দেখতে পারেন (আমি জানি, এটি অনিরাপদ, তবে এটি আইওএস 5 এর জন্যও কাজ করে):

- (void)makeBodyBackgroundTransparent {
        for (UIView *subview in [webView subviews]) {
            [subview setOpaque:NO];
            [subview setBackgroundColor:[UIColor clearColor]];
        }
        [webView setOpaque:NO];
        [webView setBackgroundColor:[UIColor clearColor]];
}


3
NSString *content=@"example clear background color UIWebview";
NSString *style=[NSString stringwithformat:@"<html><head><style>body {background-color:transparent;}</style></head><body>%@</body></html>",content];
[myWebview loadhtmlstring:style baseurl:nil];

1

উদ্দেশ্য জন্য

webView.opaque = NO;
webView.backgroundColor = [UIColor clearColor];

এটি আপনার HTML কোডের মধ্যে অন্তর্ভুক্ত করার বিষয়টি নিশ্চিত করুন:

<body style="background-color: transparent;">

অথবা

 <body style="background:none">

0

সর্বশেষ সুইফট সংস্করণ (প্রয়োজনীয় হিসাবে):

lazy var webView: UIWebView = {
    let view = UIWebView()
    view.delegate = self
    view.backgroundColor = .clear
    view.isOpaque = false
    return view
}()

প্রয়োজন না হলে প্রতিনিধি লাইন সরান

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.