2014-01-23 4 views
-2

Я хочу сохранить изображение с помощью Uilabeltextfields. Я мог бы их сохранить, но все текстовые поля черные. Я пытаюсь изменить из инспектора атрибутов, но ничего не меняется. Любой может помочь мне сохранить текстовые поля Uilabel с белым цветом. также мне нужны жирные шрифты.Сохранить Uilabel с цветом текста

спасибо.

UIGraphicsBeginImageContextWithOptions(self.mainImage.bounds.size, YES, 0.0); 
    [self.mainImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
    [self.goalkeeperImage.image drawInRect:CGRectMake(self.goalkeeperImage.frame.origin.x, self.goalkeeperImage.frame.origin.y, self.goalkeeperImage.frame.size.width, self.goalkeeperImage.frame.size.height)]; 
    [self.goalkeeperText.text drawInRect:CGRectMake(self.goalkeeperText.frame.origin.x, self.goalkeeperText.frame.origin.y, self.goalkeeperText.frame.size.width,self.goalkeeperText.frame.size.height) withAttributes:nil ]; 
    [self.datelabeltext.text drawInRect:CGRectMake(self.datelabeltext.frame.origin.x, self.datelabeltext.frame.origin.y, self.datelabeltext.frame.size.width,self.datelabeltext.frame.size.height) withAttributes: nil ]; 

    UIImage *SaveImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    UIImageWriteToSavedPhotosAlbum(SaveImage, self,@selector(image:didFinishSavingWithError:contextInfo:), nil); 
+0

Используйте 'attributedText' вместо' text'. Затем вы можете настроить текст атрибута с любыми атрибутами шрифта и цветами, которые вам нужны. – rmaddy

+0

Я сделал изменение как; [self.datelabeltext.attributedText drawWithRect: CGRectMake (self.datelabeltext.frame.origin.x, self.datelabeltext.frame.origin.y, self.datelabeltext.frame.size.width, self.datelabeltext.frame.size.height) options: @selector (fontAttributes) context: nil]; Он работает, но Xcode дает мне предупреждение «Несовместимый указатель на целочисленное преобразование, отправляющее« SEL »в параметр типа« NSStringDrawingOptions »(также называемый« enum NSStringDrawingOptions ») – user3106377

ответ

0

Если все изображения и этикетки, которые вы пытаетесь вынести, содержатся в одном представлении (и никакие другие объекты не присутствуют), вы можете использовать этот код для захвата, содержащий вид:

// Draw the high resolution image to the context 
UIGraphicsBeginImageContextWithOptions(drawView.bounds.size, NO, 0.0); 
[[drawView layer] renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *ViewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

// Save the high resolution image as a png 
NSData *pngData = UIImagePNGRepresentation(ViewImage); 
[pngData writeToFile:@"__Path__/[email protected]" atomically:NO]; 

// Draw the low resolution image to the context 
UIGraphicsBeginImageContext(drawView.bounds.size); 
[[drawView layer] renderInContext:UIGraphicsGetCurrentContext()]; 
ViewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

// Save the low resolution image as a png 
pngData = UIImagePNGRepresentation(ViewImage); 
[pngData writeToFile:@"__Path__/image.png" atomically:NO]; 

Вам, вероятно, не нужен код для сохранения изображения в виде png, вы можете просто использовать ViewImage как UIImage, с которым вы переходите к другой функции. Это всего лишь код, который я использую для сохранения представления в виде png.

Смежные вопросы