iphone - يتم تعيين خلفية UIWebView إلى Clear Color ، ولكنها ليست شفافة




objective-c ios (5)

أعمل على تطوير تطبيق iOS 4 باستخدام الإصدار الأخير من iOS SDK و XCode 4.2.

لدي XIB مع UIWebView مع Alpha = 1.0 ، تعيين الخلفية إلى Clear Color ولم يتم تعيين Opaque . في هذا 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 ثابت:

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

على جهاز iOS 5 simulator ، تكون الخلفية شفافة ، ولكن على جهاز iOS 4 رمادي.

أي فكرة؟


إلى جانب تعيين خلفية شاشة عرض الويب لمسح اللون ، تأكد أيضًا من تعيين التعتيم على false.


حدد أيضًا:

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

يمكنك تجربة هذا الرمز (أعرف أنه غير آمن ولكنه يعمل حتى بالنسبة إلى ios5):

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


     /*for ios please set this*/

     [webViewFirst setOpaque:NO];

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

webView.opaque = NO;

webView.backgroundColor = [UIColor clearColor];




uiwebview