Я создал UIImagePicker / представление камеры с кнопкой на панели инструментов и пользовательской кнопкой для взятия снимка. Я не могу действительно измениться на использование пути по умолчанию из-за пользовательской кнопки, и я тяну сверх представления.
Когда Вы нажимаете кнопку, я хочу взять использование снимка экрана UIGetScreenImage (); однако, панель инструментов обнаруживается в изображении, даже если я скрываю его сначала:
//hide the toolbar
self.toolbar.hidden = YES;
// capture the screen pixels
CGImageRef screenCap = UIGetScreenImage();
Я вполне уверен, это вызвано тем, что даже при том, что панель инструментов скрыта, она перерисовывается, после того как функция возвращается, и мы вводим цикл следующего запуска - после того, как UIGetScreenImage называют.
Я пытался делать следующее дополнение, но оно не помогло:
//hide the toolbar
self.toolbar.hidden = YES;
[self.toolbar drawRect:CGRectMake(0, 0, 320, 52)];
// capture the screen pixels
CGImageRef screenCap = UIGetScreenImage();
Я также пытался использовать setNeedsDisplay, но это не работает также, потому что еще раз ничья происходит после текущих функциональных возвратов.
Какие-либо предложения?Спасибо!
Попробуйте скрыть элементы пользовательского интерфейса в отдельном селекторе и использовать метод -performSelectorOnMainThread: withObject: waitUntilDone:
, используя ДА
для аргумента waitUntilDone
. Затем используйте другой селектор для захвата экрана.