簡體   English   中英

添加到UIImageView時,UIButton沒有響應

[英]UIButton is not responding when added to a UIImageView

我正在嘗試向具有透明背景的UIImageView添加按鈕-該按鈕顯示為正常,但沒有響應。 (takePictureClicked未調用)

我的代碼:

cameraController = [[UIImagePickerController alloc] init];
cameraController.sourceType = UIImagePickerControllerSourceTypeCamera;
cameraController.delegate = self;
cameraController.allowsEditing=YES;
cameraController.showsCameraControls = NO;
cameraController.navigationBarHidden = YES;
cameraController.toolbarHidden = YES;
// overlay on top of camera lens view
UIImageView *cameraOverlayView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"camera_overlay.png"]];
cameraOverlayView.alpha = 0.0f;
//Take picture button
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
UIImage *btnImage = [UIImage imageNamed:@"714-camera.png"];
[button setImage:btnImage forState:UIControlStateNormal];
[button addTarget:self action:@selector(takePictureClicked) forControlEvents:UIControlEventTouchUpInside];
button.frame = CGRectMake(cameraOverlayView.center.x-16,cameraOverlayView.frame.size.height,32,32);
[cameraOverlayView addSubview:button];
[cameraOverlayView setUserInteractionEnabled:YES];
[cameraOverlayView bringSubviewToFront:button];
cameraController.cameraOverlayView = cameraOverlayView;

通常,您創建一個UIView ,可以在其中添加不同的ui元素,例如UIButtonUIImageView UIImageView僅用於UIImages ,而不用於在其上添加任何其他內容。 創建另一個將包含所有元素的UIView

就像這篇帖子所描述的 ,即使Interface Builder也不允許您將UIButton添加到UIImageView

您必須能夠與用戶交互:

[cameraOverlayView setUserInteractionEnabled:YES];

如果正在使用它,您還將在Interface Builder中具有該復選框。

這是必需的,因為默認情況下UIImageView disabled用戶交互。

您是否嘗試過將userInteractionEnabled設置為UIImageView

嘗試:

cameraOverlayView.userInteractionEnabled = YES;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM