takePicture在3.1上很难

时间:2009-12-17 01:37:37

标签: iphone uiimagepickercontroller photo

确定。所以我有一个实现UIImagePickerControllerDelegate的ViewController。大。 我的选择器顶部还有一个叠加视图。 我在所述叠加层上有一个按钮,我想调用takePicture。

我的问题是,这是怎么做到的? takePicture不是我需要自己写的东西吗?它是在UIImagePickerController中定义的吗?

拾取器模态弹出很好,我可以通过相机看到图像,但是当我按下按钮拍照时,我遇到了问题。

我在按钮上设置了此代码:

[button addTarget:self action:@selector(takePicture) forControlEvents:UIControlEventTouchUpInside];   

有了上述内容,我通常会收到NSException错误,但是当我从一个单独的方法调用takePicture时,它根本就不会触发。

作为其中的一部分,我的选择器委托应该设置为覆盖层还是呈现选择器的视图控制器?

另外,我的叠加层和我的视图控制器是否应该在标题中实现选择器委托?

提前致谢。

1 个答案:

答案 0 :(得分:1)

takePicture方法位于UIImagePickerController对象上。现在,我认为你的按钮正在覆盖的视图控制器上调用takePicture。 (我无法确定,因为你没有发布代码行所在的方法。)

所以它应该是

[button addTarget:picker action:@selector(takePicture) forControlEvents:UIControlEventTouchUpInside];

显然要做到这一点,代码需要将picker变量设置为指向UIImagePickerController;通常的方法是在应用程序委托中存储指向主视图控制器和/或图像选择器本身的指针。

只有一个类需要实现图像选择器委托;你可以决定你想要的那个。