2016-03-21 2 views
0

В настоящее время я реализовал UIImagePickerController для отправки изображений в приложении для обмена сообщениями. Теперь я хотел использовать такой же логики, но установить пользовательские фоны ...контроллер выбора изображений пользовательские фоны

Я использую PresentPhotoLibrary(self, YES);, чтобы добраться до моего подборщика

#pragma mark - UIImagePickerControllerDelegate 

//------------------------------------------------------------------------------------------------------------------------------------------------- 
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
//------------------------------------------------------------------------------------------------------------------------------------------------- 
{ 
    NSURL *video = info[UIImagePickerControllerMediaURL]; 
    UIImage *picture = info[UIImagePickerControllerEditedImage]; 
    //--------------------------------------------------------------------------------------------------------------------------------------------- 
    [self messageSend:nil Video:video Picture:picture Audio:nil]; 
    //--------------------------------------------------------------------------------------------------------------------------------------------- 
    [picker dismissViewControllerAnimated:YES completion:nil]; 
} 

, который я использую для отправки мультимедийных сообщений ... мне нужно использовать этот же подборщик изображений для установки фона? Или мне нужно иметь два отдельных контроллера Picker для этого?

+0

вы можете использовать один и тот же выборщик, вам нужно изменить данные, переданные этому сборщику. –

+1

@TejaNandamuri Я не согласен. Нет причин повторно использовать UIImagePickerController, и это вызывает проблемы, когда вы это делаете. – matt

+0

Какую разницу вы представляете себе? Вы пытались это сделать, и это не удалось? Что случилось? В чем проблема? – matt

ответ

2

Вопрос оказывается: Учитывая, что я собираюсь представить UIImagePickerController более одной цели, как можно отличить , которые цели этого UIImagePickerController был представлен?

Простейший подход состоит в том, чтобы иметь разных делегатов для разных целей. Когда вы представляете UIImagePickerController, вы устанавливаете другой объект delegate. Этот объект знает, как реагировать на один из конкретных целей, для которых вы используете UIPickerController.

Другой возможностью было бы использовать тот же delegate, но в этом объекте, чтобы выбросить какой-либо переключатель. Например, у вас может быть свойство Bool. Установите его на true с одной целью и false с другой целью. Затем подайте сборщик. Код делегата справляется с тем же свойством Bool и теперь знает, что делать.

+0

Так как же я буду делать это? Я понимаю, что вы говоря, делая функцию полиморфной, а что нет, просто не реализация. –

+0

Я не собираюсь писать треску e для вас, если это то, о чем вы просите. Я сказал, что я собираюсь сказать. По-моему, я довольно подробно ответил на вопрос. – matt

+0

Я спрашиваю о том, что вы подразумеваете под делегатом. Вы говорите о передаче другого параметра моей функции, поэтому, когда его истина делает одно и когда оно ложно, делайте другое? –

Смежные вопросы