这个手势的效果
主要是Viewcontroller.h的实现文件
import “ViewController.h”
@interface ViewController ()
{
UIView *view;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIButton *button;
button = [UIButton buttonWithType:UIButtonTypeSystem];
[button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
button.frame = CGRectMake(0, 0, 60, 30);
[button setTitle:@”点我” forState:0];
[self.view addSubview:button];
self.navigationItem.titleView = button;
view = [UIView new];
view.backgroundColor = [UIColor redColor];
view.translatesAutoresizingMaskIntoConstraints = NO;
view.hidden = NO;
UIWindow *window = [[UIApplication sharedApplication].windows objectAtIndex:0];
[window addSubview:view];
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@”H:|-100-[view]-100-|” options:0 metrics:@{} views:NSDictionaryOfVariableBindings(view)];
[window addConstraints:constraints];
constraints = [NSLayoutConstraint constraintsWithVisualFormat:@”V:|-54-[view]-200-|” options:0 metrics:@{} views:NSDictionaryOfVariableBindings(view)];
[window addConstraints:constraints];
}
pragma mark —- 此方法封装了手势–
- (void)touchesBegan:(NSSet )touches withEvent:(UIEvent )event{
NSLog(@”手指接触屏幕”);
UITouch *touch = [touches anyObject];
NSLog(@”tapCount = %lu”,(unsigned long) touch.tapCount);
NSLog(@”touch timestamp = %f”,touch.timestamp);
NSLog(@”%lu根手指”,event.allTouches.count);
// NSSet *set = event.allTouches;
// NSMutableArray *array = [NSMutableArray array];
// for (UITouch *t in set) {
// [array addObject:t ]; }
// //找到手指在屏幕上的位置
CGPoint point = [touch locationInView:self.view];
NSLog(@”point = %@”,[NSValue valueWithCGPoint:point]);
} - (void)touchesMoved:(NSSet )touches withEvent:(UIEvent )event{
NSLog(@”手指在屏幕上移动”);
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self.view];
NSLog(@”point = %@”,[NSValue valueWithCGPoint:point]);
} - (void)touchesEnded:(NSSet )touches withEvent:(UIEvent )event{
NSLog(@”手指离开屏幕”);
if (view.hidden == NO) {
view.hidden = YES;
}
}
- (void)touchesCancelled:(NSSet )touches withEvent:(UIEvent )event{
NSLog(@”无法识别手势”);
}
- (void)buttonAction:(UIButton *)sender{
view.hidden = !view.hidden;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end