0

テーブルビューセルに埋め込まれたYouTubeビデオを追加するアプリケーションがあります。テーブルビューの左側には、特定のビデオを選択するためのチェックボックスがあります。 .しかし、YouTube webviewの完了ボタンをクリックすると、同じリストページに戻り、その特定のセルの行の高さが2つのボタンで高さだけ増加する必要があります.完了ボタンをクリックすると、同じテーブルビュー ページに戻ることはできますが、問題は、再生されたビデオの行の高さが増加せず、ボタンも表示されないことです。この問題の解決にご協力ください。ありがとうございます。これは、に戻るための私のコードですビデオの完了ボタンがクリックされたときの同じテーブルビュー ページ:

-(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)];

}   

//これは、完了ボタンがクリックされたときに呼び出される通知です。ここでは、完了ボタンがクリックされたときに同じテーブルビュー リスト ページを呼び出しています。再生された特定のセルの高さが増加し、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 に答える