Как можно использовать UIImagePickerController из родительского класса в дочернем классе в iPhone? - PullRequest
0 голосов
/ 05 ноября 2011

Я новичок в разработке ios. Я использую опцию камеры в своем приложении для iPhone. Я хочу добавить кнопки увеличения и уменьшения на камере (UIImagePickerController). Но теперь я хочу увеличивать и уменьшать функции [объекта камеры], нажимая кнопки. Как это сделать? Я выделяю / инициализирую UIImagePickerController в классе A. Кнопка уменьшения масштаба в классе B. Как получить доступ к UIImagePickerController (в классе A) из класса B? Я сделал следующее (для кнопки Zoom out она находится в ClassB) 1. Импортируйте класс A в класс B. 2. Вызывается UIImagePickerController таким образом,

ClassA *objA = [[ClassA alloc]init];
objA.imagePicker.cameraViewTransform = CGAffineTransformScale(imgpicker.cameraViewTransform, CAMERA_TRANSFORM_X+50, CAMERA_TRANSFORM_Y+50);

Теперь эта ошибка возникает ("незакрытый imagePicker"). Как это решить? Я знаю, что это очень просто, но я не могу решить это. Пожалуйста, помогите мне решить проблему .. Заранее спасибо. Спасибо, что читаете мой плохой английский и проводите свое драгоценное время со мной.

1 Ответ

0 голосов
/ 05 ноября 2011

Вот одно решение: в интерфейсе класса B поместите объявление:

@class ClassA;

перед интерфейсом класса B. Затем добавьте iVar к классу B:

ClassA * myClassA;

И укажите для этого свойство:

@property(nonatomic, assign) ClassA * myClassA;

Затем, когда вы создаете класс B из класса A, добавьте присвоение:

ClassB * myNewClassB = [[ClassB alloc] init];
[myNewClassB setMyClassA:self];

Обратите внимание, что вы создаете это как назначение, и что класс B не будет нести ответственность за освобождение myClassA. У него просто есть указатель на это. Обратите внимание, что если вы удалите ClassA, указатель из ClassB больше не будет действительным.

...