【发布时间】:2014-03-04 04:21:45
【问题描述】:
当用户登陆页面时,我有一个相机类型的 UIImagePickerController。我在 UIImagePickerController 上放置了一个自定义的相机覆盖,但没有一个按钮事件被触发。我知道大部分代码都来自基本 Apple 代码,所以我对正在发生的事情感到困惑。
@interface TakePhotoViewController : UIImagePickerController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
...
- (void)showImagePickerForSourceType:(UIImagePickerControllerSourceType)sourceType
{
if (self.capturedImages.count > 0)
{
[self.capturedImages removeAllObjects];
}
self.sourceType = sourceType;
self.delegate = self;
if (sourceType == UIImagePickerControllerSourceTypeCamera)
{
/*
The user wants to use the camera interface. Set up our custom overlay view for the camera.
*/
self.showsCameraControls = NO;
/*
Load the overlay view from the OverlayView nib file. Self is the File's Owner for the nib file, so the overlayView outlet is set to the main view in the nib. Pass that view to the image picker controller to use as its overlay view, and set self's reference to the view to nil.
*/
[[NSBundle mainBundle] loadNibNamed:@"CameraOverlay" owner:self options:nil];
float scale = [self getScaleForFullScreen];
self.cameraViewTransform = CGAffineTransformMakeScale(scale, scale);
self.overlayView.frame = self.cameraOverlayView.frame;
self.cameraOverlayView = self.overlayView;
self.overlayView = nil;
}
}
CameraOverlay 的所有者是 TakePhotoViewController。 CameraOverlay 内部的一个按钮将一个 Touch Up Inside 事件发送到下面列出的出口函数。附加到按钮的 TakePhotoViewController 中的代码如下,其中没有任何日志被触发:
- (IBAction)outlet:(id)sender {
NSLog(@"outlet");
}
【问题讨论】:
-
将按钮与此目标和此操作方法挂钩的代码在哪里?
-
我已将按钮从 CameraOverlay 控制拖动到此操作方法。在出口方法旁边,圆圈被填充,上面写着“CameraOverlay.xib - 出口按钮测试”
-
尽管如此,我还是持怀疑态度。毕竟,您自己说过
outlet方法没有触发。我敦促你在代码中形成这个动作连接——在你说self.cameraOverlayView = self.overlayView;之后,在按钮上调用addTarget:action:forControlEvents:,形成连接。 -
嗯。我必须在这里缺少更大的东西,因为那也不起作用。 [self.takePhotoButton addTarget:self action:@selector(outlet:) forControlEvents:UIControlEventTouchUpInside];而 takePhotoButton 是在 CameraOverlay.xib 中定义的。当我单击方法旁边的黑色实心按钮旁边时,它甚至会将我带到 CameraOverlay 中的按钮。
-
self.takePhotoButton本身是否可能在该代码中为零?添加NSLog查看...
标签: ios iphone uiimagepickercontroller