ios - كيفية جعل UIWebView شفافة




iphone cocoa-touch (5)

لدي تطبيق يحتوي على UITableView وعرض تفصيلي مناظر لكل صف. في عرض التفاصيل ، يجب أن أقوم بعرض بعض النصوص وصورة الخلفية (يختلف النص عن كل صف ، لكن الصورة تبقى كما هي). أسهل طريقة ، في رأيي ، هي وضع النص في ملف .rtf وعرضه في UIWebView . ثم وضع UIImageView خلف UIWebView .

لقد حاولت تعيين UIWebView إلى الصفر في IB ، لكنه لم يساعد.

هل بإمكانك مساعدتي؟


أوصي:

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

(يعمل إعداد هذه الخصائص في Interface Builder على iOS 5.0+ ، ولكن بالنسبة إلى iOS 4.3 ، يجب عليك تعيين backgroundColor في التعليمات البرمجية )

وقم بتضمينها في كود HTML الخاص بك:

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

استخدم الطريقة العودية أدناه لإزالة التدرج من UIWebView:

[webView setBackgroundColor:[UIColor clearColor]];
[self hideGradientBackground:webView];


- (void) hideGradientBackground:(UIView*)theView
{
  for (UIView * subview in theView.subviews)
  {
    if ([subview isKindOfClass:[UIImageView class]])
      subview.hidden = YES;

    [self hideGradientBackground:subview];
  }
}

في XCode 6.x قم بإلغاء تحديد Opaque وقم بتغيير تعتيم Background إلى . أعتقد أن إصدارات XCode الأخرى ستعمل أيضًا.


لإزالة اللفائف وجعل UIWebView شفافًا ، جرّب هذا الرمز أدناه:

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

for(UIView *view in webView.subviews){   
     if ([view isKindOfClass:[UIImageView class]]) {  
          // to transparent   
          [view removeFromSuperview];  
     }  
     if ([view isKindOfClass:[UIScrollView class]]) {  
          UIScrollView *sView = (UIScrollView *)view;  
          //to hide Scroller bar 
          sView.showsVerticalScrollIndicator = NO;  
          sView.showsHorizontalScrollIndicator = NO;
          for (UIView* shadowView in [sView subviews]){  
               //to remove shadow  
               if ([shadowView isKindOfClass:[UIImageView class]]) {  
                    [shadowView setHidden:TRUE];  
               }  
          }  
     }   
}  

ل Swift 3 و Xcode 8

self.webView.isOpaque = false;
self.webView.backgroundColor = UIColor.clear




uiwebview