您的位置:首页 > 产品设计 > UI/UE

UI手势

2015-08-29 17:34 429 查看

这个手势的效果

主要是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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: