如何将项目添加到 UIWebView 的 UIScrollView
Posted
技术标签:
【中文标题】如何将项目添加到 UIWebView 的 UIScrollView【英文标题】:how to add items into UIScrollView of UIWebView 【发布时间】:2013-08-13 15:21:41 【问题描述】:我正在做一个需要使用UIWebView
的项目,显然是因为我必须使用html。我从情节提要中添加了UIWebView
,他的属性是articleWebView
。
但是我的问题是我需要在 UIWebView
中输入一些 html 中不存在的元素(html 是从 json 获取的,它不可编辑),如 2 UILabel
和 UIImageView
.
这个方法我用过,效果很好
UIImageView *myImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 80, 298, 200)];
[myImage setImage:[UIImage imageNamed:@"myPng.png"]];
//[some code here...]
UILabel *articleTitle = [[UILabel alloc]initWithFrame:CGRectMake(0, 10, 298, 40)];
articleTitle.text = @"someText";
//[some code here...]
self.articleWebView.delegate = self;
//[some code here...]
NSString *myHTML = @"<html>myWebContent</html>;
//[some code here...]
[self.articleWebView loadHTMLString:myHTML baseURL:nil];
[self.articleWebView.scrollView addSubview:articleTitle];
[self.articleWebView.scrollView addSubview:myImage];
在这段代码中,子视图正确显示在它们的 x/y 轴上,但没有设置 html 文本,因此它显示在 x/y = 0 处的 UIWebView
顶部,可以说,在UIImageView
您知道如何在给定距离内将我的myHTML
移动到其他项目下方吗??
【问题讨论】:
你为什么要让代码变得复杂?UIWebView
用于 HTML
内容。
如果您可以在 HTML 字符串的内容中添加中断标记 <br>
?
@老虎谢谢你的帮助。 @Hemang 不,我不能在我的 HTML 中添加 或其他内容
编辑 HTML 或使用 javascript 注入其中。
【参考方案1】:
实际上,当您将 HTML 作为字符串接收时,您可以对其进行编辑,只需将新的 HTML 字符串附加到它,就像您已经在这一行中所做的那样
NSString *myHTML = @"<html>myWebContent</html>;
您可以轻松地使用字符串来实现您想要的。会是这样的:
NSString *header = @"\
<h1>My title here</h1>\
<img .../>;\
";
NSString *myHTML = [NSString stringWithFormat:@"<html>%@%@</html>, header, myWebContent];
【讨论】:
以上是关于如何将项目添加到 UIWebView 的 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章
将 UIWebView 添加到第二个(不是第一个)故事板视图控制器
将 window.navigator.standalone 添加到 UIWebView DOM