我想知道如何将某个iframe的网页包装到Apple TV的tvos应用程序中。我能够使用UITextView写出要在tvos应用程序中显示的基本HTML - 具有基本样式的基本div - 但是,我无法弄清楚如何写出iframe。
下面的代码,使用XCode在Objective C中编写,将显示“hello !!!!”在Apple TV模拟器中,但不是iframe。
以下是我的代码。有帮助吗?谢谢!
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
-(IBAction)print:(id)sender{
}
- (void)viewDidLoad {
[super viewDidLoad];
CGRect textViewFrame = CGRectMake(20.0f, 20.0f, 280.0f, 124.0f);
UITextView *textView = [[UITextView alloc] initWithFrame:textViewFrame];
textView.returnKeyType = UIReturnKeyDone;
[self.view addSubview:textView];
NSString* staticHTMLContent = @"<div>hello!!!!</div> <iframe frameborder=""1"" width=""420"" height=""345"" src=""//www.youtube.com/embed/C8kSrkz8Hz8""></iframe>";
NSAttributedString* myHTMLString = [[NSAttributedString alloc] initWithData:[staticHTMLContent dataUsingEncoding:NSUTF8StringEncoding] options:@{NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType} documentAttributes:nil error:nil];
[textView setAttributedText:myHTMLString];
}
@end
答案 0 :(得分:2)
UITextView无法加载iframe。你需要UIWebView来做到这一点,但是TvOS中没有这个API。
HTML显示在你的例子中的原因是因为你可以像你正在做的那样在UITextView中呈现HTML / CSS,但它实际上并没有像在UIWebView中那样被处理,它&# 39; s仅用于样式化内容作为属性文本的替代。