0

我得到一个无法识别的选择器异常,试图在 a 上设置 alpha UIImageView,但我不明白为什么这应该看到 aUIImageView继承自UIView并且alpha是它的属性。

@property (strong, nonatomic) IBOutlet UIImageView              *pulldownTab;

...
self.pulldownTab.alpha = 1.0;


2013-05-21 07:33:32.964 TestControl[655:907] -[__NSCFNumber setAlpha:]: unrecognized selector sent to instance 0x1e587fa0

** 更新 ** 故事的寓意 - 已解决。小心键值编码,之前调用了这个函数

- (void) fadeToAlphaValue: (double) alpha forKeyPath: (NSString*) keyPath
{
    NSNumber* number = [NSNumber numberWithDouble:alpha];

    [UIView animateWithDuration:kFadeAnimationDuration
                     animations:^ {
                        [self setValue:number forKeyPath:keyPath];
                     }];
}


   [self fadeToAlphaValue:0.0 forKeyPath:@"self.pulldownTab"];
4

2 回答 2

0

你确定你在IBOutlet正确分配interface Builder

当您访问self.pulldownTab正在访问NSCFNumber内存中的变量时,该引用无法正常工作。

于 2013-05-21T14:37:12.470 回答
0

我在这里遇到了同样的问题。就我而言,我在代码的前面设置了 myTextView,但没有设置.text属性,如下所示:

self.myTextView = @"text";

而不是我应该做的:

self.myTextView.text = @"text";

出于某种原因,此时这并没有引发任何错误,但是后来当我尝试在 NSString 上设置 alpha 属性(它没有这样的东西)时,它产生了一个问题:)

无论如何,只要在设置.alpha属性之前在您的代码中寻找任何类似这样的愚蠢错误- 它们很可能是问题的原因!

于 2013-05-31T05:24:21.650 回答