我必须从服务器播放 A 视频,这需要一些时间。所以我写了一个 activityIndicator 并开始制作动画。但是在播放视频之前事件指示器不会显示。首先,我隐藏了事件指示器,后来取消隐藏它并开始设置动画,但它在视频开始播放时显示。
这是我的代码:
对于信息 indicatorView 是一个 UIView
并且我在 UIView 内部有 indView 是一个 UIIndicatorView
;我正在使用 AV Player 播放;
请清楚地阅读指示器 View 显示在 View 中,但问题不是在我说开始动画时出现,而是在视频开始一段时间后出现。
indicatorView.hidden = NO;
[indView startAnimating];
//这里Indicator view必须显示在VIEW中但是没有显示;
MediaItem *item = [allVideos objectAtIndex:indexPath.row];
[playerModel playMyVideo:item];
//现在 5 秒后,当视频准备好播放时,它就出现了
什么问题。 我在这两个地方都使用了 dispach asynch 但没有用
最佳答案
只需添加一个方法,例如
-(void) videoPrepareToPlay {
MediaItem *item = [allVideos objectAtIndex:indexPath.row];
[playerModel playMyVideo:item];
}
然后像这样调用该方法
indicatorView.hidden = NO;
[indView startAnimating];
[self performSelector:@selector(videoPrepareToPlay) withObject:nil afterDelay:0.2];
它可能适合你..
关于ios - 事件指示器在 iOS 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33208861/