我正在尝试改变alpha
of an UIButton
来自另一个班级。调用的函数设置alpha
我的 UIButton 的属性实际上被调用,因为我放了一个NSLog
在那里我可以看到它是如何工作的。如果您能给我任何建议,我将不胜感激。
这是我当前的代码。
视图控制器.h
- (void) setAlphaToButton;
@property (strong, nonatomic) IBOutlet UIButton *myButton;
视图控制器.m
@synthesize myButton;
- (void) setAlphaToButton {
myButton.alpha = 0.5;
NSLog(@"Alpha set");
}
ImageViewSubclass.m
- (void) tapDetected:(UITapGestureRecognizer *)tapRecognizer {
ViewController *VC = [[ViewController alloc] init];
[VC setAlphaToButton];
}
当按下图像视图时,在我的控制台中我得到:Alpha set
。并且按钮不会改变。
在您的代码中,分配并初始化 ViewController 的实例,并在其上调用 setAlphaToButton 方法。然后视图控制器被释放,因为没有对象保留它。这就是为什么你看不到任何效果;您调用该方法的 ViewController 实例永远不会出现在屏幕上。
目前尚不清楚您的代码应该如何工作;调用 tapDetected 时是否存在 ViewController 实例?如果是这种情况,并且这是您想要更改其按钮的 alpha 的 ViewController,那么您需要引用thatViewController 的实例并对其调用 setAlphaToButton。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)