Я искал часы ... Само собой разумеется, я довольно новичок в программировании. Моя цель состоит в том, чтобы программно отобразить подвид и удалить его, нажав на него.Добавить UITapGestureRecognizer в subview
Уже работает: отображение подсмотра и его удаление, нажав на изображение (код ниже).
Не работает - что бы я ни старался: удалив подвью, нажав исключительно на подвью.
Благодарим за помощь!
Мой .h-файл:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController {
UIImageView *canvas;
UIImageView *square;
}
@property (nonatomic, strong) UIImageView *canvas;
@property (nonatomic, strong) UIImageView *square;
@property (nonatomic) NSUInteger numberOfTouchesRequired;
- (void)handleSingleTap: (UITapGestureRecognizer *)singleTapGestureRecognizer;
@end
Мой .m-файл:
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
@synthesize canvas;
@synthesize square;
- (void)handleSingleTap: (UITapGestureRecognizer *)singleTapGestureRecognizer {
NSLog(@"tapGesture");
[square removeFromSuperview];
}
- (void)loadView {
canvas = [[UIImageView alloc] initWithFrame: [[UIScreen mainScreen] applicationFrame]];
[canvas setImage:[UIImage imageNamed:@"canvas.png"]];
self.view = canvas;
square = [[UIImageView alloc] initWithFrame:CGRectMake(170, 320, 40, 40)];
[square setImage:[UIImage imageNamed:@"square.png"]];
[self.view setUserInteractionEnabled:YES];
[canvas addSubview:square];
NSLog(@"square");
}
- (void)viewDidLoad {
[super viewDidLoad];
UITapGestureRecognizer *singleTapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
NSLog(@"initialize");
singleTapGestureRecognizer.numberOfTapsRequired = 1;
NSLog(@"number of taps");
[self.view addGestureRecognizer:singleTapGestureRecognizer];
NSLog(@"square gestureRecognizer");
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
хорошо .. для меня проще всего ставится UIButton (с таким же размером, как размер подвида) над этим подвидом и называют удалить действие в IBAction этой кнопки ... Я ненавижу водопроводный жест ... –