首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone - UITableView到DetailView

iPhone - UITableView到DetailView
EN

Stack Overflow用户
提问于 2013-05-28 16:21:43
回答 2查看 94关注 0票数 0

我有一个列出内容目录的tableView,其中包括jpg和mp4文件。

目前,当您选择任何mp4文件时,它会加载MPMovieController并相应地播放正确的文件,然而,如果文件的扩展名是JPG,我不确定如何加载详细视图。

例如,如果tableView中的选定文件是图像文件,则它会在detailView中打开一个imageView以显示该图像。

对于其他文件,它会推送一个关于它是未知文件的alertView

这是我到目前为止为tableview didSelectRowAtIndex编写的代码

代码语言:javascript
复制
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView
                         dequeueReusableCellWithIdentifier:CellIdentifier];


NSString *urlString = [NSString stringWithFormat:@"http://10.1.4.3:8080/DCIM/DCIM/VIDEO/%@",[movieArray objectAtIndex:indexPath.row]];

//Play multiple video
NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

_moviePlayer =  [[MPMoviePlayerController alloc]
                 initWithContentURL:url];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(moviePlayBackDidFinish:)
                                             name:MPMoviePlayerPlaybackDidFinishNotification
                                           object:_moviePlayer];

_moviePlayer.controlStyle = MPMovieControlStyleDefault;
_moviePlayer.shouldAutoplay = YES;
[self.view addSubview:_moviePlayer.view];
[_moviePlayer setFullscreen:YES animated:YES];}

任何链接或源代码都会非常方便。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-28 18:25:58

我没有测试这段代码,因为我没有时间

然而,它应该是有效的。

代码语言:javascript
复制
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{  
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView
                             dequeueReusableCellWithIdentifier:CellIdentifier];

    /* ============================== THIS DO THE TRICK ============================ */
    NSString *kind = nil;
    NSString *path = [NSString stringWithFormat:@"http://10.1.4.3:8080/DCIM/DCIM/VIDEO/%@", [movieArray objectAtIndex:indexPath.row]];
    NSString *ext = [[path pathExtension] lowercaseString];

    if([ext isEqualToString:@"jpg"] || [ext isEqualToString:@"png"] || [ext isEqualToString:@"jpeg"]) {
        UIViewController *imageController = [[UIViewController alloc] init];
        UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:path]]]];

        CGRect frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

        [imageController.view setFrame:frame];
        [imageView setFrame:frame];
        [imageController.view addSubview:imageView];
        [imageView release];

        [self presentModalViewController:imageController animated:TRUE];

        [imageController release];
    }
    /* ============================================================================= */
    else {
        NSString *urlString = path;

        //Play multiple video
        NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

        _moviePlayer =  [[MPMoviePlayerController alloc]
                         initWithContentURL:url];

        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(moviePlayBackDidFinish:)
                                                     name:MPMoviePlayerPlaybackDidFinishNotification
                                                   object:_moviePlayer];

        _moviePlayer.controlStyle = MPMovieControlStyleDefault;
        _moviePlayer.shouldAutoplay = YES;
        [self.view addSubview:_moviePlayer.view];
        [_moviePlayer setFullscreen:YES animated:YES];
    }
}
票数 0
EN

Stack Overflow用户

发布于 2013-05-28 16:41:41

因为您使用了MPMoviePlayerController,所以xcode将处理您文件(它将创建播放电影的视图,并在完成后删除视图)。

如果您想要显示您图像,只需使用close按钮创建您的自定义视图(因为您将需要关闭您的视图)。在这个自定义视图中,添加一个UIImageView并显示您的图像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16787212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档