Я пытаюсь экспортировать tableview как изображение. Я бы хотел контролировать размер этого изображения.Scaled UIImageView от UITableView
Проблема заключается в том, что изображение равно как большой как рама стола, на iPhone в моем случае 320x480 (или другая высота). Я хочу, чтобы он был больше. На самом деле я хочу иметь управление над размером экспортируемого изображения. Например, я не хочу экспортировать изображение 320x480. Мне нужен какой-то масштабный коэффициент. Например, я хотел бы иметь 2 раза больше изображения с 2-кратным количеством пикселей ... Надеюсь, я объяснил это хорошо. Вот код, который я использую для создания изображения.
- (UIImageView*)renderTableViewAsImageView {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView cellForRowAtIndexPath:indexPath].hidden = YES;
self.invoiceExportTitle.textColor = [UIColor blackColor];
CGFloat scaleFactor = 1.0;
CGSize pageSize = CGSizeMake(self.tableView.contentSize.width*scaleFactor, self.tableView.contentSize.height*scaleFactor);
UIGraphicsBeginImageContext(pageSize);
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:NO];
[self.tableView.layer renderInContext:UIGraphicsGetCurrentContext()];
NSInteger rows = [self.tableView numberOfRowsInSection:0];
NSInteger numberOfRowsInView = 4;
for (int i=0; i<rows/numberOfRowsInView; i++) {
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:(i+1)*numberOfRowsInView inSection:0]
atScrollPosition:UITableViewScrollPositionTop
animated:NO];
[self.tableView.layer renderInContext:UIGraphicsGetCurrentContext()];
}
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
UIGraphicsEndImageContext();
[self.tableView cellForRowAtIndexPath:indexPath].hidden = NO;
self.invoiceExportTitle.textColor = [UIColor clearColor];
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO];
return imageView;
}
Будет ли это работать только для изменения размера UIImage ?, например: http://stackoverflow.com/questions/2658738/the-simplest-way-to-resize-an-uiimage –