gpt4 book ai didi

ios - 创建按钮网格时点击并长按手势Objective-C

转载 作者:行者123 更新时间:2023-12-01 19:56:14 25 4
gpt4 key购买 nike

晚上好,我正在尝试创建一个按钮网格,如下面的代码所示。
我想为每个按钮添加一个 TapGesture 和一个 LongPress Gesture;我该怎么做?
我知道这是一种方法......

 UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPress:)];
longPress.minimumPressDuration = 3;
//[self.griglia[1][1] addGestureRecognizer:longPress];

如果我这样做,它会显示“在 Gioco 类型的对象上找不到属性“griglia”
Gioco.m/Gioco.h 是我的课

和 UIButton* griglia[9][9];是我的按钮网格

你能更正下面的代码吗?
     for(int i=0, y=212, p=0; i<9; i++)
{

for(int k=0, x=37; k<9; k++)
{
griglia[i][k] = [UIButton buttonWithType:(UIButtonTypeCustom)];

//[griglia[i][k] addTarget:self action:(@selector(click)) forControlEvents: UIControlEventTouchDown];

[griglia[i][k] setTag: 0];
if(i==posizioni[0][p] && k==posizioni[1][p])
{
numero=[NSString stringWithFormat:@"%d", matrice[i] [k]];
[griglia[i][k] setTitle: numero forState: UIControlStateNormal];
[griglia[i][k] setEnabled:NO]; //Numeri non modificabili
[griglia[i][k] setTag: matrice[i][k]];
}
[griglia[i][k] setTitleColor:[UIColor blackColor] forState: UIControlStateNormal];
griglia[i][k].frame=CGRectMake(x, y, 27, 27);
[self.view addSubview:griglia[i][k]];
if(k==2 || k==5)
x=37+3+k*34;

else
x=37+k*34;
}
if(y==2 || y==5)
y=212+4+i*34;

else
y=212+i*34;
}

最佳答案

这是没有意义的。
您正在创建 UILongPressGestureRecognizer

进而

//[griglia[i][k] addTarget:self action:(@selector(click)) forControlEvents: UIControlEventTouchDown];



这是两个不同的东西。
触地得分是一种手势,但与长按有很大不同。

我建议您尝试添加手势识别器,而不是向您的按钮添加触地事件。

或者...

看看这个答案:

Adding Tap Gesture on UIImage

关于ios - 创建按钮网格时点击并长按手势Objective-C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42538671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com