我想嵌入一系列YouTube视频,而不必每次都重写嵌入代码,因此使用stringWithFormat动态插入网址:
videoHTML = [NSString stringWithFormat:@"\
<html>\
<head>\
<style type=\"text/css\">\
iframe {position:absolute; top:100%; margin-top:-150px;}\
body {background-color:#000; margin:0;}\
</style>\
</head>\
<body>\
<iframe width=\"100%\" height=\"240px\" src=\"%@\" frameborder=\"0\" allowfullscreen></iframe>\
</body>\
</html>", videoURL];
[videoView loadHTMLString:videoHTML baseURL:nil];
当我记录结果时,它看起来很好,但是在模拟器中没有正确呈现,缩略图的比例和位置是错误的。如果我只是将URL硬编码到字符串中,那么它可以正常工作。所以我猜这是stringWithFormat的问题?
有什么想法吗?
答案 0 :(得分:3)
使用-stringWithFormat:
时,您需要使用另一个%
字符转义字符串中的%
字符文字
NSString *htmlFormatString = [@"
<html>
<head>
<style type=\"text/css\">
iframe {position:absolute; top:100%; margin-top:-150px;}
body {background-color:#000; margin:0;}
</style>
</head>
<body>" stringByAppendingFormat:@"<iframe width=\"100%%\" height=\"240px\" src=\"%@\" frameborder=\"0\" allowfullscreen></iframe>
</body>
</html>", videoURL];
[videoView loadHTMLString:videoHTML baseURL:nil];