我在 FOR 循环中动态创建 UIButton ,如下所示:

     CGRect workingFrame = imgscrollView.frame;
      workingFrame.origin.x = 0;
      workingFrame.origin.y = 0;

   for (int i=0 ; i < self.currentDetails.arrayOfImages.count ; i++)
   {
    UIButton *imageBtn = [[UIButton alloc] init];
    [imageBtn setImage:image forState:UIControlStateNormal];
    [imageBtn setUserInteractionEnabled:TRUE];
    imageBtn.layer.cornerRadius = 8;
    imageBtn.layer.borderWidth = 1;
    imageBtn.layer.borderColor = [UIColor whiteColor].CGColor;
    imageBtn.layer.masksToBounds = YES;
    imageBtn.clipsToBounds = YES;
    [imageBtn setContentMode:UIViewContentModeScaleAspectFill];
    [imageBtn addTarget:self action:@selector(changeButtonImage:) forControlEvents:UIControlEventTouchUpInside];
    [imageBtn setTag:i];
    [imgscrollView addSubview:imageBtn];

     imageBtn.frame = CGRectMake(workingFrame.origin.x+20, workingFrame.origin.y, 145, 140);
   }

但是在设定框架时

imageBtn.frame = CGRectMake(workingFrame.origin.x + 20,workingFrame.origin.y,145,140);

我收到以下错误,它崩溃了:

由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[__ NSCFString size]:无法识别的选择器已发送至实例

我已经搜索过了,但无法找到解决方案。

请帮我。

谢谢...

最佳答案

附带的图像中的类具有Size方法

由于您在此处使用图像,因此请检查您是否具有正确的图像实例。

08-05 21:46