Как просто сделать фото на iPhone

Есть ли способ просто сделать фото на iPhone?

(Без делегатов или контроллеров).

На самом деле я хочу:

1 Один вид, который показывает то, что видит камера,

2) Одна кнопка, которая делает фото. (Например, вызов функции и получение фотографии обратно)

добавлено: "вид" выше будет областью на нормальном экране, а также кнопкой

Было бы это AVFoundation.

Спасибо


person Olav    schedule 31.08.2010    source источник
comment
Кажется, встроенное приложение камеры соответствует вашим требованиям. Если вам нужен API, вы должны использовать UIImagePickerController и реализовать методы UIImagePickerControllerDelegate.   -  person falconcreek    schedule 31.08.2010


Ответы (2)


Если вы просто пытаетесь использовать камеру, фреймворк AVFoundation переусердствует и больше предназначен для звуков и фильмов. Все основные методы камеры находятся в структуре UIKit. Если вы пытаетесь редактировать изображения, AVFramework вам не нужен.

Кроме того, у вас не может быть приложения без делегата или контроллера. Вот как создаются приложения. Без них ничего не сделаешь. Дополнительную информацию см. В Руководстве по программированию контроллера Apple View. .

Как сказал Фалконкрик, вам нужно использовать UIImagePickerController и настроить UIImagePickerDelegate для использования камеры в приложении.

Вопрос: Что вы пытаетесь сделать с этими изображениями, чтобы приложение «Камера» не работало?

person MishieMoo    schedule 31.08.2010
comment
Два момента в моем вопросе. Чтобы получить нормальный обзор того, что показывает объектив, и кнопки рядом с ним (с контроллером кажется сложным). - person Olav; 01.09.2010
comment
Это поведение контроллера по умолчанию. Вам просто нужно установить источник UIImagePickerController в качестве камеры. - person MishieMoo; 01.09.2010

Просто скопируйте и вставьте следующий код в свой проект, чтобы получить полностью реализованную функциональность.

где takePhoto и chooseFromLibrary - мои собственные имена методов, которые будут вызываться при нажатии кнопки. и

поэтому не забудьте ссылаться на выходы соответствующих кнопок для этих методов.

Надеюсь, это поможет :)

   -(IBAction)takePhoto
{
        UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];

        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
        {
            [imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera];
        }

        // image picker needs a delegate,
        [imagePickerController setDelegate:self];

    // Place image picker on the screen
    [self presentModalViewController:imagePickerController animated:YES];
}



-(IBAction)chooseFromLibrary
{

    UIImagePickerController *imagePickerController= [[UIImagePickerController alloc]init]; 
    [imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];

    // image picker needs a delegate so we can respond to its messages
    [imagePickerController setDelegate:self];

    // Place image picker on the screen
    [self presentModalViewController:imagePickerController animated:YES];

}

//delegate methode will be called after picking photo either from camera or library
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{   
    [self dismissModalViewControllerAnimated:YES]; 
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

    [myImageView setImage:image];    // "myImageView" name of any UImageView.
}
person W.S    schedule 10.09.2012