Utworzono widok UIImagePicker/camera z paskiem narzędzi i niestandardowym przyciskiem do wykonania migawki. Nie mogę zmienić sposobu używania domyślnego ze względu na niestandardowy przycisk i rysuję na górze widoku.Wymuś natychmiastowe odświeżenie, zamiast w trakcie następnego uruchomienia pętli
Po naciśnięciu przycisku chcę zrobić zrzut ekranu przy użyciu UIGetScreenImage(); Jednakże pasek narzędzi jest wyświetlane na obrazie, nawet gdybym ją ukryć pierwszy:
//hide the toolbar
self.toolbar.hidden = YES;
// capture the screen pixels
CGImageRef screenCap = UIGetScreenImage();
Jestem całkiem pewien, że to dlatego, mimo że pasek narzędzi jest ukryty, to dostaje odświeżana po powrocie funkcyjnych i wjeżdżamy następna pętla - po wywołaniu UIGetScreenImage.
Próbowałem dokonywania następujący dodatek, ale to nie pomogło:
//hide the toolbar
self.toolbar.hidden = YES;
[self.toolbar drawRect:CGRectMake(0, 0, 320, 52)];
// capture the screen pixels
CGImageRef screenCap = UIGetScreenImage();
Próbowałem też za pomocą setNeedsDisplay, ale to nie działa albo dlatego po raz kolejny remis dzieje po obecnych zwrotów funkcyjnych.
Wszelkie sugestie? Dzięki!
Samo to nie dało, ale niewielki dodatek działał. Zadzwoniłem do selektora przechwytywania ekranu za pomocą [self performSelector: @selector (captureScreen) withObject: nil afterDelay: 0]; i to dostało zadanie. Dzięki za trop! –
[self performSelector: @selector (captureScreen) withObject: nil afterDelay: 0]; faktycznie sprawia, że "captureScreen" działa w następnej pętli uruchamiania. –