0

UIButton画面の左上に があります。iOS シミュレーターを使用すると、ボタンの一番左上の部分に簡単に触れることができます。期待どおりに動作します:

ここに画像の説明を入力

しかし、 を使用しMPMoviePlayerControllerた後、その領域でボタンを押しても機能しません! (少し大きく/小さくすることができます)。クレイジーですね!

MPMoviePlayerControllerコード:

if (!_player) {
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];        

    NSError *setCategoryErr = nil;
    NSError *activationErr  = nil;
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryErr];
    [[AVAudioSession sharedInstance] setActive: YES error: &activationErr];

    VCRoot* root = [[ApplicationManager sharedManager] rootViewController];

    _player = [[MPMoviePlayerController alloc] init];
    _player.movieSourceType = MPMovieSourceTypeStreaming;
    _player.view.hidden = YES;
    [root.view addSubview:_player.view];

    [[NSNotificationCenter defaultCenter] addObserver:self 
                                             selector:@selector(moviePlayerStateChanged:) 
                                                 name:MPMoviePlayerLoadStateDidChangeNotification 
                                               object:nil];
} else {
    [_player stop];
}

_player.contentURL = [channel url];

[_player setInitialPlaybackTime:-1.0];
[_player play];

ノート:

私は_player.viewusing を追加しようとしましたinsertSubview: AtIndex:0、試してみましたsetIsUserInteractionEnabled = NO、試してみましたsetAlpha = 0.f、すべて役に立ちません..別のビューのサブビューとして追加しました。

でも:

プレーヤーを停止してビューを削除すると、その領域は再びタッチ可能になります:(

4

1 に答える 1

0

私が試したすべてのことのうち...最後に:

_player.view.frame = CGRectMake(-100, -100, 1.f, 1.f);

働いた!

于 2012-07-09T19:56:51.133 に答える