как получить CGContextRef из UIView или UIWindow для отладки внешнего метода ничьей?

[Это - мое первое сообщение здесь (но я много раз просматривал ответы; благодаря всем для очень полезного сайта). Если я фиксирую какие-либо большие грехи с этим сообщением, простите мне и укажите на меня в правильном направлении.]

Я пытаюсь отладить некоторый сложный код запуска в своем приложении для iPhone; я действительно должен нарисовать некоторые изображения, чтобы сделать отладку более проницательного, и радикально уменьшить скуку отладки.

Состояние, которое я должен потянуть, действительно не существует как объект модели; это является несколько переходным во время инициализации. Я особенно хочу смочь потянуть один бит состояния за один раз, а не всего этого в одном большом изображении (чтобы помочь мне видеть, какие компоненты являются правильными/неправильными). В моем случае существует много потенциально перекрывающегося материала, и единственное изображение не может легко, ясно отобразить то, что продолжается.

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

Так, что я надеюсь сделать:

  1. получите или создайте соответствующий CGContextRef
  2. потяните в нем
  3. сбросьте его для экранирования сразу
  4. ожидайте некоторого входа от пользователя, который не включает UIEvents
  5. повторитесь 1-4 много раз

Объект 4, кажется, почти невозможен (там способ получить что-то как простой C или консоль I/O C++, работающая в iPhone или средстве моделирования iPhone?), таким образом, я разочаровался в нем на данный момент; я соглашусь на просто использование отладчика XCode для остановки между операциями рисования.

Но больше интереса состоит в том, как добраться, CGContextRef за пределами UIView рисуют метод, в котором можно потянуть вывод отладки. Кэширование ранее допустимого контекста, даже если это было возможно в моей ситуации (не возможный, так как я отлаживаю при запуске приложения), кажется, не работает. Кажется, как будто контексты могут быть созданы снова для каждой операции рисования, которая, кажется мне, подвергается большому количеству издержек; я принял бы UIWindow и возможно UIView, сохранил и мог обеспечить ссылку на соответствующий контекст рисунка. Кажется, что я должен быть неправым (но в противном случае как я получаю контекст от представления или окна? Я не нашел методов для этого).

Так, если я должен создать контекст рисунка, как я делаю это? Я предполагаю, что действительно не вполне понимаю то, что точно связано контекстом: до какой степени это знает об и связывает с, некоторое определенное устройство вывода дисплея? Как я управляю тем, на какую часть экрана контекст отображается? Кажется, существует очень немного способов создать контекст, и они, кажется, не обеспечивают такое управление. UIGraphicsBeginImageContext, кажется, единственная стандартная программа, которая могла бы помочь мне, и я не вижу, как создание и вовлечение один, только для создания CGImage в результате будут полезны; как я получил бы получающееся изображение на экран?

Я не буду удивлен найти, что я смущен некоторым основным материалом, связанным с контекстами CG. Хотелось бы надеяться, этот вопрос не является столь основным и очевидным, что я буду раздражающим все, кто читает его, но если бы я полностью пропустил правильную документацию, я был бы очень благодарен из нескольких указателей.

Спасибо за Вашу умственную пропускную способность и любую справку. - банка

7
задан jarFlooby 8 July 2010 в 10:46
поделиться