Показаны сообщения с ярлыком iPhone. Показать все сообщения
Показаны сообщения с ярлыком iPhone. Показать все сообщения

24 июня 2010 г.

Улучшаем NSLog()

Большим плюсом NSLog'а является возможность следить за состоянием программы без использования точек останова. Но не всегда информации предоставляемой этой функцией достаточно. Стандартный вывод NSLog() такой:

<дата> <время> <имя_приложения> [<pid>]  то, что выдаст NSLog

А хотелось бы чтобы в этой информации присутствовали как минимум имя исходного файла и номер строки. Кроме того было-бы желательно иметь возможность сохранять лог в файл.

Вариант для решения данной задачи и является нижеприведенный класс.

22 июня 2010 г.

Использование UIView в Cocos2D

Как бы ни был хорош Cocos2d для написания игр для iPhone, но когда возникает необходимость добавить какой-нибудь стандартный вид (например MFMailComposeViewController для отправки электронной почты) начинаются пляски с бубном.
После продолжительного гугления было найдено простое и элегантное решение.

Класс CCUIViewWrapper, состоящий из 100 строк кода позволяет заворачивать в себя стандартные UIKit'овские элементы и работать с ними как с обычными слоями. Например, все что нужно для вызова окна отправки почты:

MFMailComposeViewController *picker = [MFMailComposeViewController alloc];
[picker init];
picker.mailComposeDelegate = self;
// инициализация e-mail тут
CCUIViewWrapper *wrapper = [CCUIViewWrapper wrapperForUIView:picker.view];
[self addChild:wrapper];