//
// ViewController.swift
// 疯狂ios
//
// Created by gy on 2023/1/8.
//
import UIKit
class ViewController: UIViewController {
var stackView : UIStackView!
var gv:UIView!
var label:UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let width = self.view.bounds.width
self.label = UILabel(frame: CGRect.init(x: 10, y: 20, width: width - 20 , height: 50))
self.label.numberOfLines = 2
self.label.text = "1"
self.view.addSubview(self.label)
self.gv = UIView(frame: CGRect.init(x: 10, y: 80, width: width - 20, height: 250))
self.gv.backgroundColor = UIColor.white
self.view.addSubview(self.gv)
self.view.backgroundColor = UIColor.lightGray
self.gv.layer.borderWidth = 2
self.gv.layer.cornerRadius = 6
self.gv.layer.borderColor = UIColor.green.cgColor
self.gv.isUserInteractionEnabled = true
self.gv.isMultipleTouchEnabled = true
let gesture = UITapGestureRecognizer(target: self, action: #selector(handleTap(gesture:)))
//设置该点击手势只处理i次连击事件
gesture.numberOfTapsRequired = 2
//设置该点击手势处理几个手指的事件
gesture.numberOfTouchesRequired = 1
self.gv.addGestureRecognizer(gesture)
print("add")
}
@objc
func handleTap(gesture:UITapGestureRecognizer){
let touchNum = gesture.numberOfTouches
let tapNum = gesture.numberOfTapsRequired
self.label.text = "用户使用\(touchNum)个手指进行触碰,触碰次数为\(tapNum)"
print("handleTap")
//调用label的指定方法 with 参数
self.label.perform(Selector("setText:"), with: "设置", afterDelay: 2)
}
}
对应的oc代码
//
// OCUIViewController.m
// 疯狂ios
//
// Created by gy on 2023/1/14.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface OCUIViewController : UIViewController
@end
@implementation OCUIViewController
{
UIView* gv;
UILabel* label;
}
-(void) viewDidLoad {
float width = self.view.bounds.size.width;
label = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, width - 20, 50)];
label.text = @"123";
[self.view addSubview:label];
gv = [[UIView alloc] initWithFrame:CGRectMake(10, 80, width - 20, 250)];
gv.backgroundColor = UIColor.whiteColor;
gv.layer.borderColor = UIColor.greenColor.CGColor;
gv.layer.borderWidth = 2;
gv.layer.cornerRadius = 6;
[self.view addSubview:gv];
gv.multipleTouchEnabled = true;
gv.userInteractionEnabled = true;
UITapGestureRecognizer* gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
gesture.numberOfTapsRequired = 2;
gesture.numberOfTouchesRequired = 1;
[gv addGestureRecognizer:gesture];
}
-(void) handleTap:(UITapGestureRecognizer*) gesture{
int touchNum = gesture.numberOfTouches;
int tapNum = gesture.numberOfTapsRequired;
NSLog(@"touchNum=%d,tapNum=%d",touchNum,tapNum);
}
@end