如何在ios中显示/消失UITableview

时间:2014-11-13 03:48:22

标签: ios objective-c iphone uitableview

我正在使用视频播放器..我正在使用MPMediaplayer框架...
在下面的视频播放器中,我显示一个UIView,在此视图中,我显示当前视频详细信息,如视频名称和视频描述以及视频开始时间和结束时间......这些详细信息显示在UITableview中。 tableview添加到此uiview ..这些都已完成。 我旁边的uiview放了一个按钮..如果我点击按钮,则会自动显示uiview。如果我再次点击uiview消失..这也完成了。

现在我正在整合uiview的动画,如淡出(意味着如果我点击按钮出现uiview,10秒后自动消失uiview ......)..这是我的主要要求..这也是完成..

但问题是例如用户滚动uiview(tableview中的视频播放器详细信息以上下滚动tableview)10秒后自动消失。如果用户滚动视频播放器的详细信息我不想消失我的tableview ...但我的问题是如果用户滚动视频播放器的详细信息,它会在10秒后自动消失..

所以PLZ帮助我任何身体......如何处理这件事...我的要求是如果用户滚动视频播放器细节我不想消失我的tableview ...

- (IBAction)InfoVisibleAction:(id)sender

{

    if(UIView.hidden==NO)

    {

        UIView.hidden=YES;

        ScheduleImageView.hidden=YES;

        tableView.hidden=YES;

        timeLabel1.hidden=YES;

    }

    else

    {

        UIView.hidden=NO;

        ScheduleImageView.hidden=NO;

        tableView.hidden=NO;

        timeLabel1.hidden=NO;

        [self performSelector:@selector(infoHiddenAction:) withObject:nil afterDelay:10];

    }

}

- (IBAction)infoHiddenAction:(id)sender

{

    if(UIView.hidden==NO)

    {

        UIView.hidden=YES;

        ScheduleImageView.hidden=YES;

        tableView.hidden=YES;

        timeLabel1.hidden=YES;

    }

}

- (IBAction)infoHiddenAction:(id)sender

{

    if(UIView.hidden==NO)

    {

        SupportedView.hidden=YES;

        ScheduleImageView.hidden=YES;

        tableView.hidden=YES;

        timeLabel1.hidden=YES;

    }

}



-(void)viewDidLoad

{

    tableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, 550, 130)];

    tableView.delegate=self;

    tableView.dataSource=self;

    tableView.backgroundColor=[UIColor clearColor];

    tableView.scrollEnabled=YES;

    tableView.separatorColor=[UIColor clearColor];

    [UIView addSubview:tableView];

}

1 个答案:

答案 0 :(得分:0)

以下内容应该有所帮助

在您班上:

@implementation <YourClass> {
NSTimer* hideTimer;
}

内部(IBAction)InfoVisibleAction:(id)发件人

而不是

[self performSelector:@selector(infoHiddenAction:) withObject:nil afterDelay:10];

使用

[hideTimer invalidate], hideTimer = [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(infoHiddenAction:) userInfo:nil repeats:NO];

实施scrollViewDidScroll

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

[hideTimer invalidate], hideTimer = [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(infoHiddenAction:) userInfo:nil repeats:NO];

}

内部(IBAction)infoHiddenAction:(id)发件人

添加

[hideTimer invalidate];