Hier ist ein Stück Code, der mich derzeit verrückt macht. Es ist eine UIView mit einer AVPlayerLayer (als Sublayer) und einem UITableView (als Subview). Langes Drücken auf den Film sollte den Film ausblenden und den Tisch zeigen. Langes Drücken auf dem Tisch sollte wieder den Tisch verstecken und den Film zurück zeigen.iOS: Falsche Frame-Platzierung
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;
Hier ist die Aktionsmethode für Longpressing: wenn return; ((sender.state == UIGestureRecognizerStateBegan)!)
if([playerLayer3 isHidden])
{
[playerLayer3 setHidden:NO];
[table3 setHidden:YES];
}
else
{
[playerLayer3 setHidden:YES];
[table3 setHidden:NO];
}
Bitte beachte, dass ich die gleichen frame
Werte für gebe sowohl den Tisch und den Film. Aber ich bekomme sie in verschiedenen Bereichen des Bildschirms! Kann mir jemand zeigen, was schief läuft?
Hier einige Screenshots sind:
Der Film, vor dem Longpress auf seiner erwarteten Position von (341, 0, 341, 768)
Nach dem Longpress ist der Tisch hier (bei eine unerwartete Stelle) trotz gleichen FRAME Wert wie der Film, dAS (341, 0, 341, 768)
Jetzt, wenn ich einen neuen Rahmen Wert habe (682, 0, 341, 768) für die Film:
Die Tabelle ist nicht einmal für diesen Rahmen zu sehen (682, 0, 341, 768) nach dem Longpress:
Jede Hilfe wird sehr geschätzt!
Darn! Das ist so richtig. Ich hätte * mehr * sehen sollen! Danke vielmals. – Ravi