Невозможно сделать программно созданный UIWebView прозрачным - PullRequest
0 голосов
/ 22 июня 2011

Я пытаюсь создать UIWebView программно, и мне нужно, чтобы он был наложен на другой элемент, поэтому в моем коде есть следующее:

webViewScroller = [[UIWebView alloc] initWithFrame:CGRectMake(47, 80, 226, 310)];
webViewScroller.opaque = NO;
webViewScroller.backgroundColor = [UIColor clearColor];

Последние две строки отлично работаютпрозрачный UIWebView, когда он создается в Интерфейсном Разработчике, но так как я хотел создать и уничтожить представление строго в коде, я создаю его следующим образом.Я ожидал, что он будет реагировать на одинаковые параметры настройки, будь то созданные в IB или в коде.Я что-то упустил?Я также пробовал перебирать подпредставления и делать их прозрачными, но мне тоже не повезло.Я предполагаю, что одно из родительских представлений не является непрозрачным, но я не уверен, как ссылаться на него, чтобы сделать его непрозрачным.Я тоже это попробовал:

[webViewScroller.layer setOpaque:NO];

[Update:] Я также добавил <body style="background-color:transparent;"> в свой HTML.Это не проблема, так как это было родительское представление, которое скрывается за «тенями», когда вы прокручиваете за пределы.

Ответы [ 3 ]

3 голосов
/ 22 июня 2011

Вам также нужно установить прозрачный цвет фона тела HTML, чтобы это работало.

Примерно так (или с помощью тега стиля в заголовке):

<body style="background-color:transparent;">
0 голосов
/ 18 октября 2013

Просто чтобы закрыть этот вопрос, я отвечаю на него сам.Я так и не нашел решения этой конкретной проблемы, поэтому я просто создал WebView в IB, и он работал, как было упомянуто в моем первоначальном посте.

Спасибо всем, кто пытался помочь.

0 голосов
/ 22 июня 2011

Используйте ниже, чтобы сделать наследуемый класс UIView прозрачным. Установите значение alpha согласно вашему требованию.

webViewScroller.alpha = 0.3f;
...