Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检测iPhone MPMoviePlayer控件何时出现/消失?_Iphone_Mpmovieplayercontroller_Mpmovieplayer - Fatal编程技术网

如何检测iPhone MPMoviePlayer控件何时出现/消失?

如何检测iPhone MPMoviePlayer控件何时出现/消失?,iphone,mpmovieplayercontroller,mpmovieplayer,Iphone,Mpmovieplayercontroller,Mpmovieplayer,我试图在MPMoviePlayerController视图(OS 2.x及更高版本)中的标准回放/播放/前进控件的左右两侧添加自定义按钮。我已经知道如何将它们添加到播放器窗口,但它们始终可见。是否有办法检测标准控件何时出现和消失?查看movieControlMode属性。您可以设置MPMovieControlMode MPMovieControlMode用于显示电影播放控件的选项 typedef enum { MPMovieControlModeDefault, MPMovieCon

我试图在MPMoviePlayerController视图(OS 2.x及更高版本)中的标准回放/播放/前进控件的左右两侧添加自定义按钮。我已经知道如何将它们添加到播放器窗口,但它们始终可见。是否有办法检测标准控件何时出现和消失?

查看movieControlMode属性。您可以设置MPMovieControlMode

MPMovieControlMode用于显示电影播放控件的选项

typedef enum {
   MPMovieControlModeDefault,
   MPMovieControlModeVolumeOnly,
   MPMovieControlModeHidden
} 
MPMovieControlMode


您还可以查看MPMoviePlayerScalingModeddChangeNotification

iOS3.2之前的版本 检测“残疾”很容易:

检测appierance有点困难(也许有更好的方法):

。。。
[moviePlayerController播放];
mainTimer=[NSTimer scheduledTimerWithTimeInterval:1/100目标:自选择器:@selector(勾选)用户信息:无重复:是];
-(无效)勾选{
如果([[[UIApplication sharedApplication]windows]计数]<2)返回;
MoviePlayerWindows=[[UIApplication sharedApplication]windows]对象索引:1];
if(电影播放器窗口){
[mainTimer invalidate],mainTimer=nil;
//这是你的电影剧本
}
}

好的,明白了,这样做:

BOOL controlsVisible = NO;
for(id views in [[_moviePlayer view] subviews]){
 for(id subViews in [views subviews]){
   for (id controlView in [subViews subviews]){
     controlsVisible = ([controlView alpha] <= 0.0) ? (NO) : (YES);
   }
  }
}
NSLog(@"player controls are visible: %d", controlsVisible);
BOOL controlsVisible=NO;
对于(在[[[u moviePlayer view]子视图中的id视图]){
对于(id子视图在[视图子视图]中){
对于(id控制视图位于[子视图子视图]){

controlsVisible=([controlView alpha]cybercow的答案是正确的,只需稍加修改即可使答案更准确

BOOL controlsVisible = NO;
for(id views in [[self.moviePlayerViewController view] subviews])
{
   for(id subViews in [views subviews])
   {
      for (id controlView in [subViews subviews])
      {
          if ([controlView isKindOfClass:[UIView class]] && ((UIView*)controlView).tag == 1004)
          {
             controlsVisible = ([controlView alpha] <= 0.0) ? (NO) : (YES)               
          }
      }

   }
}
BOOL controlsVisible=NO;
用于([[self.movieplayervewcontroller视图]子视图中的id视图])
{
对于(id子视图在[视图子视图]中)
{
对于(id控制视图位于[子视图子视图])
{
如果([controlView isKindOfClass:[UIView类]]&((UIView*)controlView).tag==1004)
{

controlsVisible=([controlView alpha]我知道如何启用控件,我要寻找的是控件出现和消失时的通知(例如,当用户点击屏幕时)。我指的是出现在电影顶部HUD中的播放器控件。这些控件将在移动播放时出现和消失(例如,当用户点击电影时)。喜欢你的方法…!!和+1。上帝保佑你,先生!
BOOL controlsVisible = NO;
for(id views in [[_moviePlayer view] subviews]){
 for(id subViews in [views subviews]){
   for (id controlView in [subViews subviews]){
     controlsVisible = ([controlView alpha] <= 0.0) ? (NO) : (YES);
   }
  }
}
NSLog(@"player controls are visible: %d", controlsVisible);
BOOL controlsVisible = NO;
for(id views in [[self.moviePlayerViewController view] subviews])
{
   for(id subViews in [views subviews])
   {
      for (id controlView in [subViews subviews])
      {
          if ([controlView isKindOfClass:[UIView class]] && ((UIView*)controlView).tag == 1004)
          {
             controlsVisible = ([controlView alpha] <= 0.0) ? (NO) : (YES)               
          }
      }

   }
}