gpt4 book ai didi

iphone - 无法以编程方式设置 UIButton 操作

转载 作者:行者123 更新时间:2023-11-28 18:11:57 25 4
gpt4 key购买 nike

我在对 UIButton 执行操作时遇到了一些麻烦。我正在以编程方式创建 4 个按钮,但无法触发 TouchUpInside 事件。

我已经通读了 SO,但我仍然遇到问题,因此非常感谢任何指点!

这是我创建和设置按钮及其操作的代码:

UIButton *btn;

float newWidth = 10;

for (int i = 0; i < _btnImages.count; ++i) {
btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
CGRect imageFrame = CGRectMake(/*X*/newWidth, /*Y*/height - 80, 65, 65);
btn.frame = imageFrame;
btn.tag = i;

[btn setBackgroundImage:[UIImage imageNamed:[_btnImages objectAtIndex:i]] forState:UIControlStateNormal];
[btn addTarget:self
action:@selector(btnSelected:)
forControlEvents:UIControlEventTouchUpInside];
[btn setEnabled:true];

[self addSubview:btn];
newWidth = newWidth + 75;
}

这里是 btnSelected 方法:

-(void)btnSelected:(UIButton *)button
{
NSLog(@"Button %ld Clicked",(long int)[button tag]);
}

最佳答案

您显示的代码没问题。可能出现的问题是:

  1. 您正在将按钮添加到已禁用用户交互(或其任何祖先已禁用用户交互)的 View 中。

  2. 您的按钮被它们的父 View 剪裁了。确保您的按钮在其父 View 的边界内(并且父 View 在其父 View 的边界内等)。

  3. 当您的 View 上有手势识别器时,可能会发生其他问题 - 它们可能会延迟和取消 subview 中的触摸,包括按钮。确保触摸事件未由某些手势识别器处理。

关于iphone - 无法以编程方式设置 UIButton 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16464961/

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