iPhone App与__NSCFType崩溃设置Image:for State

时间:2012-11-22 06:59:02

标签: iphone crash

我有一个应用程序,我从相机捕获图像并将其设置为按钮。

因此,在从相机捕获图像并点击使用按钮后,我的应用程序崩溃[NSCFType setImage:forstate]无法识别的实例

 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
   [picker dismissModalViewControllerAnimated:YES];

   UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    UIImage *resizeImage = [image imageWithImage:image scaledToSize:CGSizeMake(320, 480)];    

   //convert the selected image to NSData
   toShowFullImage = UIImageJPEGRepresentation(resizeImage, 0.8);

    //retain it for further use 
    [toShowFullImage retain];

    //set the selected image to button

    UIImage *newimage=[image imageScaleAndCropToMaxSize:CGSizeMake(75, 75)];

    [button setImage:newimage forState:UIControlStateNormal];
}

此崩溃发生在iOS 6.0.1中,中止陷阱6错误

2 个答案:

答案 0 :(得分:0)

只是检查你是否分配了按钮,并且也提供了带有插座的参考,也可以在你将这个按钮放到任何地方之前设置该图像然后发生这种类型的错误,所以检查这个流程配对..并且也看到这个代码可能这也很容易为你使用..

而不是newimage ..直接将图像设置为按钮的背景,例如..

[button setBackgroundImage:image forState:UIControlStateNormal];

答案 1 :(得分:0)

我认为问题是当你设置已经发布的按钮的背景图像时。

此问题的可能方法:

  1. 当您将该按钮添加到视图时,您调用了[button release];
  2. 您使用buttonWithType:
  3. 等工厂方法创建了按钮

    可能的解决方案:

    1. 将其设置为查看后,请勿调用发布。
    2. 如果您使用buttonWithType:
    3. 创建按钮,请保留该按钮
    4. 使用标记设置图像。
    5. 添加按钮时,设置如下标记:

      button.tag = 7;
      [self.view addSubview:button];
      

      将图像设置为:

       [[self.view viewWithTag:7] setImage:newimage forState:UIControlStateNormal];