172 похожих чатов

Ребят, а кто-нибудь знает, если ли какой-то способ снять в

симуляторе скриншот не вьюпорта телефона, а всего экрана от начала и до конца? Гуглеж не помог..

27 ответов

82 просмотра

cmd+shift+4 не подходит?)

Anton-Frolov Автор вопроса
Vladimir
cmd+shift+4 не подходит?)

Оно же не скролит экран в симуляторе от начала до конца, может захватить только отображаемый фрагмент

Anton Frolov
Оно же не скролит экран в симуляторе от начала до ...

А, неправильно вопрос понял. Когда-то делал

Сделай снапшот вьюхи и сохрани

Anton-Frolov Автор вопроса
Руслан Лутфуллин
Сделай снапшот вьюхи и сохрани

Вот об этом речь? https://developer.apple.com/documentation/uikit/uiview/1622531-snapshotview Не совсем понимаю, как это поможет?

Да, только не этот, а тот который рисует в контекст.

Anton Frolov
Вот об этом речь? https://developer.apple.com/docu...

Но ты это, учти, если у тебя там коллекция скажем, то очевидно, чего ещё не существует соответственно и рендериться не будет. Тебе придётся увеличить сам размер коллекции до размеров её contentSize.

Anton-Frolov Автор вопроса
Руслан Лутфуллин
Да, только не этот, а тот который рисует в контекс...

Спасибо за идею, попробовал, все равно все ограничивается размерами вьюпорта

Anton Frolov
Да, конечно

Тогда ты что-то делаешь не так

Anton Frolov
Я беру bounds.size

А bounds равен размеру экрана? Тогда чего ты ожидаешь?

Anton-Frolov Автор вопроса
Руслан Лутфуллин
А bounds равен размеру экрана? Тогда чего ты ожида...

В смысле таки да, что-то делаю не так, но frame.size тот же результат давал

Anton Frolov
В смысле таки да, что-то делаю не так, но frame.si...

Ты лучше скажи, ты хочешь весь контент какой-то таблицы/коллекции заскринить?

Anton-Frolov Автор вопроса
Руслан Лутфуллин
Ты лучше скажи, ты хочешь весь контент какой-то та...

Да не при чем тут коллекция, давай считать что ее вообще нет, просто 145 лэйблов скажем

https://pastebin.com/V0JiTvcx render(in:) работает без ограничений по размеру у drawHierarchy(in:afterScreenUpdates:)

Руслан Лутфуллин
https://pastebin.com/V0JiTvcx render(in:) работае...

Ну дык условных 145 лейблов же наверняка на чем-то сабклассящем UIScrollView лежат, размер тебе надо не из bounds/frame.size брать, а из contentSize.

Vladimir
Ну дык условных 145 лейблов же наверняка на чем-то...

Если бы ты почитал выше, я уже об этом писал, но человек решил начать с более простого )

Anton-Frolov Автор вопроса

Так и у тебя bounds.size

Anton Frolov
Так и у тебя bounds.size

А ты посмотри, как я задал размер стаквью

Руслан Лутфуллин
А ты посмотри, как я задал размер стаквью

Я хочу до тебя донести, что система рендерит лишь то, что содержится в рамке вьюхи. Если размер контента у тебя выходит за пределы рамки, то тебе нужно увеличить рамку до размеров контента.

Anton-Frolov Автор вопроса
Руслан Лутфуллин
Я хочу до тебя донести, что система рендерит лишь ...

Я это понимаю, просто думал что-то универсальное сделать в виде экстеншена для вьюх, раз уж просто скриншот сделать не получается

Anton Frolov
Я это понимаю, просто думал что-то универсальное с...

Универсального решения тут просто не может быть. Можно попытаться постротиь по следующему принципу, пробежать вглубь по всей иерархии текущей вьюхи, для каждой сабвьюхи/или сабвью сабвьюхи берём её рамку и конвертируем в координты основной вьюхи и по этим же координатам отрисовываем. Общий размер тоже задаётся как максимум таких пар координатам с размером. С таблицей и коллекций такой подход не выйдет, как и для всех вьюх, чей контент просто не выставляется по логике в бесконечной области bounds. Ровно как с примером выше, где стаквью просто не станет располагать правильно оставшиеся лейблы.

Руслан Лутфуллин
Универсального решения тут просто не может быть. ...

https://github.com/TelegramMessenger/Telegram-iOS/blob/674999eed85092b1fdc0badee6b20be8f0c08764/submodules/Display/Source/UIKitUtils.swift#L680 только тебе их напрямую отрисовывать в контекст. Но это всё равно не сильвер буллет.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта