0

我有一个应用程序,我在 tableview 单元格上添加嵌入式 youtube 视频。在 tableview 的左侧有一个复选框可以选择特定视频。当我单击单元格播放特定视频通过嵌入视频播放的视频时.但我希望当我点击 youtube webview 的完成按钮时,它应该返回到相同的列表页面,并且该特定单元格的行高应该增加高度,其中包含 2 个按钮。当我点击完成按钮时,我是能够返回到相同的 tableview 页面,但问题是播放的视频的行高没有增加,按钮也不可见。请帮我解决这个问题。谢谢。这是我返回的代码单击视频的完成按钮时相同的 tableview 页面:

-(void)playVideo:(NSString *)urlString frame:(CGRect)frame
{
    NSString *embedHTML = @"\ <html><head>\ <style type=\"text/css\">\ body {\ background-color: transparent;\ color: red;\ }\ </style>\ </head><body style=\"margin:0\">\ <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ width=\"%0.0f\" height=\"%0.0f\"></embed>\ </body></html>";
    NSString *html = [NSString stringWithFormat:embedHTML, urlString, frame.size.width, frame.size.height];
    videoView = [[UIWebView alloc] initWithFrame:frame];
    [videoView loadHTMLString:html baseURL:nil];


}


    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


        static NSString *CellIdentifier = @"Cell";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

        if (cell == nil)
        {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];

        }


        ArchiveModal *AM = (ArchiveModal*)[DatafromArchModal objectAtIndex:indexPath.row] ;


        NSLog(@"%i",AM.VideoId);
        [self playVideo:AM.ArchUrl frame:CGRectMake(60, 20, 200, 100)];
        //this function is for embedding video and playing video 
             [[NSNotificationCenter defaultCenter]
         addObserver:self
         selector:@selector(windowNowVisible:)
         name:UIWindowDidBecomeVisibleNotification
         object:self.view.window
         ];


        [[NSNotificationCenter defaultCenter]
         addObserver:self
         selector:@selector(windowNowHidden:)
         name:UIWindowDidBecomeHiddenNotification
         object:self.view.window
         ];




}

-(void)didselectrowAtindexPath
{

    [self playVideo:AM.ArchUrl frame:CGRectMake(60, 20, 200, 100)];

}   

//这是单击完成按钮时调用的通知。这里我在单击完成按钮时调用相同的tableview列表页面。但是我希望当单击完成按钮时应该调用相同的页面但行高已播放的特定单元格的高度应增加,并且还应将 2 个按钮添加到该特定行。

4

1 回答 1

1
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
   [self addButton];
   return 50; //returns height of row
}    

创建按钮:

-(void)addButton
{
  UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
  [button addTarget:self action:@selector(callYourMethod:) forControlEvents:UIControlEventTouchDown];
  [button setTitle:@"Show View" forState:UIControlStateNormal];
  button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
  [view addSubview:button];
  [button release];
}
于 2012-06-07T09:54:26.803 回答