从另一个类修改 UIButton 的 alpha 属性

2023-12-11

我正在尝试改变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(使用前将#替换为@)

从另一个类修改 UIButton 的 alpha 属性 的相关文章

随机推荐