У меня есть приложение, это размечается с помощью UITableView. Интерфейс поднимает больше, чем просто экран, таким образом, существует некоторая область, которая может быть прокручена до. Я хотел бы, чтобы некоторые снимки экрана всего представления (включая невидимую область) использовали для документации и обратной связи требования от моего клиента.
Там программный путь состоит в том, чтобы получить изображение всего представления? Я не думаю, что был бы путь на устройстве, чтобы сделать это, но возможно существует.
Просто вставляю код, который я использовал в своем приложении. Он рисует вид изображения (потенциально масштабируемый). Может быть, вы могли бы программно прокрутить таблицу и сшить изображения вместе в конце или что-то подобное:
+ (UIImage *)captureView: (UIView *)view inSize: (CGSize)size
{
UIGraphicsBeginImageContext(size);
CGSize viewSize = view.frame.size;
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextScaleCTM( context, size.width/viewSize.width, size.height/viewSize.height);
[view.layer renderInContext: UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
Надеюсь, это поможет
В табличном представлении на iphone нет "лишней" области для прокрутки. Размер таблицы равен размеру экрана, и по мере прокрутки новых ячеек они создаются по запросу, а старые ячейки, которые прокручиваются за пределы экрана, освобождаются.
Как сказал Ясариен , UITableView не имеет элементов вне экрана. Это просто сценическая иллюзия, создающая видимость единого длинного элемента.
Если вы хотите создать изображение длинной (т.е. вне экрана) таблицы, вы должны сделать скриншоты таблицы в разных положениях прокрутки, а затем Photoshop / GIMP / insert-graphics-app скриншоты в один длинный рисунок.