Мой код Swift для захвата UITableView как изображения не работает, когда таблица прокручивается вниз. Я по существу имею ответ в Objective-C, но не могу заставить его работать в Swift. В настоящее время это то, что я имею в Swift:Capture UITableView как изображение - с прокруткой
func snapshotOfCell (inputView: UIView) -> UIView {
UIGraphicsBeginImageContextWithOptions(inputView.bounds.size, false, 0.0)
inputView.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext() as UIImage
UIGraphicsEndImageContext()
let cellSnapshot : UIView = UIImageView(image: image)
cellSnapshot.layer.masksToBounds = false
return cellSnapshot
}
Я нашел this ответ, но это в Objective-C:
-(UIImage *) imageWithTableView:(UITableView *)tableView {
UIView *renderedView = tableView;
CGPoint tableContentOffset = tableView.contentOffset;
UIGraphicsBeginImageContextWithOptions(renderedView.bounds.size, renderedView.opaque, 0.0);
CGContextRef contextRef = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(contextRef, 0, -tableContentOffset.y);
[tableView.layer renderInContext:contextRef];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
Кажется, чтобы решить эту проблему прокрутки с помощью contentOffset. Тем не менее, я пытаюсь интегрировать его в мою функцию Swift без успеха. Кто-нибудь хорошо с Objective-C и Swift? Благодаря!
Пробовал это без везения. Он работает как мой код Swift. Когда таблица не была прокручена, она работает хорошо, но она не фиксирует прокручиваемую таблицу правильно. –
Вы хотите, чтобы снимок экрана tabview после прокрутки в какой-то позиции? – Jeyamahesan
Да, извините, если я не прояснил это. Когда я прокручиваю вниз на полпути, а затем запускаю код, на картинке в настоящее время появляется много белого пробела, и это неверно. Я хочу, чтобы изображение отражало то, что на экране –