투명한 UIWebView를 만드는 방법
UITableView
각 행에 대해 해당 상세보기 가있는 앱이 있습니다. 상세보기에서 일부 텍스트와 배경 이미지를 표시해야합니다 (텍스트는 각 행마다 다르지만 이미지는 동일하게 유지됩니다). 내 생각에 가장 쉬운 방법은 텍스트를 .rtf 파일에 넣고 UIWebView
. 그리고 단지를 넣어 UIImageView
뒤에서 UIWebView
.
UIWebView
IB에서 불투명도를 0 으로 설정하려고 시도했지만 도움이되지 않았습니다.
도와주세요?
나는 추천한다 :
webView.opaque = NO;
webView.backgroundColor = [UIColor clearColor];
(인터페이스 빌더에서 이러한 속성을 설정하면 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];
}
}
신속한 업데이트 :
webView.opaque = true
webView.backgroundColor = UIColor.clearColor()
그리고 다시 설정하는 것을 잊지 마십시오
<body style="background-color: transparent">
또는 인라인 스타일 대신 스타일 시트에서 더 좋습니다.
body {
background-color: transparent
}
스위프트 3 및 Xcode 8
self.webView.isOpaque = false;
self.webView.backgroundColor = UIColor.clear
엑스 코드에서의 선택을 취소 6.x로 불투명 변화 배경의 불투명도 를 0 % . 다른 XCode 버전도 작동한다고 생각합니다.
'Attributes Inspector'로 이동하여 Drawing Opaque를 선택 취소하여 UIWebView를 투명하게 만들 수있었습니다.
참조 용으로 내 HTML 코드.
UIWebView* webView =(UIWebView *) [cell viewWithTag:100];
NSString* htmlContentString = [NSString stringWithFormat:
@"<html>"
"<style type='text/css'>html,body {margin: 0;padding: 0;width: 100%%;height: 100%%;}</style>"
"<body>"
"<table style='border:1px solid gray; border-radius: 5px; overflow: hidden;color:white;font-size:10pt' cellspacing=\"0\" cellpadding=\"1\" align='right'><tr>"
"<td>Hello</td><td>There</td>"
"</tr></table>"
"</body></html>"
];
[webView loadHTMLString:htmlContentString baseURL:nil];
스크롤을 제거하고 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];
}
}
}
}
참고 URL : https://stackoverflow.com/questions/3646930/how-to-make-a-transparent-uiwebview
'Programing' 카테고리의 다른 글
리프 서명을 확인할 수 없습니다 (0) | 2020.07.19 |
---|---|
T-SQL 분할 문자열 (0) | 2020.07.19 |
안드로이드 키보드의 완료 버튼을 사용하여 버튼을 클릭하십시오. (0) | 2020.07.19 |
EditText에서 복사 / 붙여 넣기를 비활성화하는 방법 (0) | 2020.07.19 |
Android의 ImageView에서 gif 이미지 추가 (0) | 2020.07.19 |