UIButton不响应触摸

UIButton不响应触摸

在我的应用程序中,我需要解析来自网络的一些数据,并添加一些自定义按钮。
稍后,当用户单击它时,我将提供更多详细信息。

  • 图像视图是应用程序
  • 的背景
  • 这些按钮(xPos,yPos)的位置从服务器(动态数据)中解析
  • 当我单击以编程方式添加的这些按钮时,
  • 没有打印

  • 我添加它的代码是这样的
        ...
        [businessButton setImage:businessImage forState:UIControlStateNormal];
        [businessButton setFrame:CGRectMake([xPos floatValue], [yPos floatValue], [businessImage size].width/2, [businessImage size].width/2)];
        [businessButton addTarget:self.imageView action:@selector(serviceProviderSelected:) forControlEvents:UIControlEventTouchUpInside];
        ...
    
    - (void)serviceProviderSelected:(id)sender
    {
        NSLog(@"sp tapped\n");
    }
    

    我创建了另一个虚拟应用程序来做(我认为是同一件事),并且按钮运行正常...
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
    
        UIButton *customizedButton = [UIButton buttonWithType:UIButtonTypeCustom];
        UIImage *image = [UIImage imageNamed:@"business-icon.png"];
        [customizedButton setImage:image forState:UIControlStateNormal];
        [customizedButton setFrame:CGRectMake(100, 100, 20, 20)];
        [customizedButton addTarget:self action:@selector(customButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
    
        [self.view addSubview:customizedButton];
    }
    
    - (IBAction)buttonPressed:(id)sender {
        NSLog(@"yes, pressed\n");
    }
    

    我一直怀疑我在代码中创建的按钮已经被释放,并打印出用于存储这些按钮的数组,尽管它们是有效的地址...

    谢谢!

    威廉

    最佳答案

    我才发现原因。

    现在,[self.imageView addSubview:businessButton];可以代替[self.view addSubview:businessButton];起作用。

    我认为在情节提要中添加imageView之后,我并不真正了解视图关系。

    关于ios - UIButton不响应触摸,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14027019/

    10-10 22:02