время захвата удалить панель инструментов - PullRequest
0 голосов
/ 27 января 2012
-(IBAction)printDisplay:(id)sender{

     CGRect rect = CGRectMake(0.0,44.0,self.view.frame.size.width,self.view.frame.size.height);

    NSValue *rectObj = [NSValue valueWithCGRect:rect];



    CGRect rectRestored = [rectObj CGRectValue];



    UIGraphicsBeginImageContext(CGSizeMake(rectRestored.size.width, rectRestored.size.height-44));

    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];

    viewImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

}

Это код для захвата изображения с текущего экрана.

Проблема в том, что я не хочу выводить UIToolBar для захвата на экран для того что делать. Мой скриншот приложения выглядит так:

enter image description here

и после того, как я сделаю скриншот изображения:

enter image description here

Короче говоря, я хочу удалить UIToolBar, когда снимок изображения. Заранее благодарим за то, что потратили ваше драгоценное время.

@ Сэмюэл

Ответы [ 3 ]

0 голосов
/ 27 января 2012

если рамка изображения начинается снизу панели инструментов, вы можете просто установить прямоугольник, начиная с (0,44). Если рамка изображения начинается под панелью инструментов из (0.0), просто установите toolbarObject.hidden = YES; перед тем, как снимать скриншот с помощью graphicsContext, а затем сбросьте его на toolbarObject.hidden = NO;.

0 голосов
/ 27 января 2012

Измените код так, чтобы строка

[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];

была

[imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
0 голосов
/ 27 января 2012

Держите ваши изображения и дополнительные материалы (что вы когда-либо содержали, чтобы захватить) в другом представлении и используйте это представление для захвата.

В вашем коде допустим, что Second View назван secondView. Так что код будет:

-(IBAction)printDisplay:(id)sender{

     CGRect rect = CGRectMake(0.0,44.0,self.secondView.frame.size.width,self.secondView.frame.size.height);
     NSValue *rectObj = [NSValue valueWithCGRect:rect];
     CGRect rectRestored = [rectObj CGRectValue];

     UIGraphicsBeginImageContext(CGSizeMake(rectRestored.size.width, rectRestored.size.height-44));
     [self.secondView.layer renderInContext:UIGraphicsGetCurrentContext()];
     viewImage = UIGraphicsGetImageFromCurrentImageContext();
     UIGraphicsEndImageContext();
     UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...