UITapGestureRecognizer для средства выбора изображений не работает - PullRequest
0 голосов
/ 22 октября 2018

Попытка создать средство выбора изображений с помощью жеста касания, поэтому при касании изображения по умолчанию оно позволяет пользователю выбрать изображение из библиотеки фотографий устройства.По какой-то причине, когда я нажимаю на вид в симуляторе iOS, он просто ничего не делает, и я не могу понять, почему.

Это то, что я имею до сих пор.Я довольно новичок в Objective-C

ViewController.m:

#import "ViewController.h"

interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *nameField;   
@property (weak, nonatomic) IBOutlet UITextField *brandField;
@property (weak, nonatomic) IBOutlet UITextField *priceField;
@property (weak, nonatomic) IBOutlet UITextField    *additionalNotesField;
@property (weak, nonatomic) IBOutlet UIButton *addItem;
@property (weak, nonatomic) IBOutlet UIButton *cancelAdditem;
@property (weak, nonatomic) IBOutlet UIImageView *toyImage;
- (IBAction)imageSelect:(UITapGestureRecognizer *)sender;


@end

@implementation ViewController

- (void)viewDidLoad {
 [super viewDidLoad];

_nameField.delegate = self;
_brandField.delegate = self;
_priceField.delegate = self;
_additionalNotesField.delegate = self;

// Do any additional setup after loading the view, typically from a nib.
}

 -(BOOL) textFieldShouldReturn:(UITextField *) textField {

    textField.resignFirstResponder;

    return true;
}

-(void) textFieldDidEndEditing:( UITextField *) textField {
    _nameField.text = textField.text;
    _brandField.text = textField.text;
    _priceField.text = textField.text;
    _additionalNotesField.text = textField.text;
}

- (IBAction)imageSelect:(UITapGestureRecognizer *)sender {

// Hide the keyboard
  _nameField.resignFirstResponder;
  _brandField.resignFirstResponder;
  _priceField.resignFirstResponder;

UIImagePickerController *imagePicker = [[UIImagePickerController alloc]init]; // Creates image picker

imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; // Source for picker is saved photos. Only allow photos to be picked, not taken

// Make sure the picker is notified when the user picks an image
imagePicker.delegate = self;
[self presentViewController:imagePicker animated:true completion:nil];

}

// UIImagePickerControllerDelegete

-(void) imagePickerDidCancel:(UIImagePickerController *) imagePicker {

[self dismissViewControllerAnimated:true completion:nil]; // Dimiss the picker if the user canceled
}

-(void) imagePicker:(UIImagePickerController *) picker didFinishPickingMediaWithInfo:(NSDictionary *)info{

 UIImage* selectedImage = info[UIImagePickerControllerOriginalImage];

 _toyImage.image = selectedImage; // Set the image view to display the selected image 

// Dimiss the picker
[self dismissViewControllerAnimated:true completion:nil];
}

@end

1 Ответ

0 голосов
/ 22 октября 2018

Как сказал Ларме, мне нужно было добавить эту строку:

_toyImage.userInteractionEnabled = YES;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...