【发布时间】:2011-07-09 18:40:36
【问题描述】:
我目前有一个表格视图,其中嵌入了自定义单元格内的 youtube 视频。
我这样做是因为根据我的研究,这似乎是让视频在不离开我的应用程序的情况下加载的唯一方法。
问题是这样的:
缩略图需要一段时间才能加载。
当我向下滚动视频列表时,它必须不断加载缩略图。
如果我向上滚动...它会再次尝试加载视频缩略图。
有没有人对更好的方法或让表格单元格保留数据而不是替换它的方法有任何建议?
我的代码如下所示:
CustomVideoCell *cell = (CustomVideoCell *)[tableView dequeueReusableCellWithIdentifier:@"CustomVideoCell"];
if (cell == nil) {
UIViewController *temporaryController = [[UIViewController alloc] initWithNibName:@"CustomVideoCell" bundle:nil];
cell = (CustomVideoCell *)temporaryController.view;
[temporaryController release];
GDataEntryBase *entry = [[self.feed entries] objectAtIndex:indexPath.row];
NSString *title = [[entry title] stringValue];
NSString *videoID = [[(GDataEntryYouTubeVideo *)entry mediaGroup] videoID];
NSString *htmlString =
[
[NSString alloc]
initWithFormat:@"<html><head><meta name = \"viewport\" content = \"initial-scale = 2.0, user-scalable = no, width = 110\"/></head><body style=\"background:#000;margin-top:0px;margin-left:0px\"><div><object width=\"110\" height=\"90\"><param name=\"movie\" value=\"http://www.youtube.com/v/%@&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/%@&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"110\" height=\"90\"></embed></object></div></body></html>",
videoID, videoID
];
[[[cell.web subviews] lastObject] setScrollEnabled:NO];
[cell.web loadHTMLString:htmlString baseURL:[NSURL URLWithString:@"http://www.website.com"]];
cell.title.text = title;
干杯
【问题讨论】:
-
有没有人知道任何好的线程和/或教程,因为我想做这样的事情,但不知道从哪里开始。对不起,我是新手。
标签: iphone objective-c ios uitableview youtube