現在、コードがあり、現在ナットを運転しています。これは、AVPlayerLayer(サブレイヤとして)とUITableView(サブビューとして)を持つUIViewです。ムービーを長押しすると、ムービーが非表示になり、テーブルが表示されます。テーブルを長押しすると、テーブルを隠してムービーを戻す必要があります。 (!(sender.state == UIGestureRecognizerStateBegan)) リターン場合;:iOS:不正なフレーム配置
playerView3 = [[UIView alloc] init];
[playerView3 addGestureRecognizer:tap3];
[playerView3 addGestureRecognizer:longPress3];
[playerView3 setFrame:CGRectMake(682, 0, 341, 768)];
[self.view addSubview:playerView3];
[self table3:CGRectMake(682, 0, 341, 768)];
[playerView3 addSubview:table3];
[table3 setHidden:YES];
[table3 setTag:3];
NSURL *url3 = [[NSBundle mainBundle] URLForResource:@"3" withExtension:@"MOV"];
AVURLAsset *asset3 = [AVURLAsset URLAssetWithURL:url3 options:nil];
AVPlayerItem *playerItem3 = [AVPlayerItem playerItemWithAsset:asset3];
player3 = [AVPlayer playerWithPlayerItem:playerItem3];
[player3 setActionAtItemEnd:AVPlayerActionAtItemEndNone];
playerLayer3 = [AVPlayerLayer playerLayerWithPlayer:player3];
[playerView3.layer addSublayer:playerLayer3];
playerLayer3.frame = playerView3.layer.bounds;
playerLayer3.videoGravity = AVLayerVideoGravityResizeAspect;
ここlongpressingのためのアクションメソッドです私はテーブルと映画の両方に同じframe
値を与えている
if([playerLayer3 isHidden])
{
[playerLayer3 setHidden:NO];
[table3 setHidden:YES];
}
else
{
[playerLayer3 setHidden:YES];
[table3 setHidden:NO];
}
注意。しかし、私は画面の別の領域にそれらを取得します!誰かが間違っていることを私に導くことができますか? longpress前に、longpress後(341、0、341、768)
のその期待の場所で、テーブルが(にここにある、
映画:ここ
は、いくつかのスクリーンショットです映画(341、0、341、768と同じフレーム値を有するにもかかわらず、予想外の場所に))
今、私は)(682、0、341、768の新たなフレーム値を有していた場合映画:
テーブルもlongpress後、このフレーム(682、0、341、768)は見られない。
任意の助けを大幅に高く評価されています!
ダーン!それはそうです。私はもっと*見た方がいいでしょう!どうもありがとう。 – Ravi