使用共享的 Instace 方法禁用 UIButton



我正在研究这个项目。我的应用能够在我的Firebase数据库中存储一些数据。完成此操作后,到达此确切视图控制器的按钮应被进行续集的按钮阻止。我不知道在哪里以及如何声明按钮,以便可以从另一个视图控制器访问它。

我的想法: 我刚刚学会了使用共享实例来激活触觉反馈生成器并在我想提供触觉反馈的任何地方触发它

我的实现文件中的代码包含:

+ (buttonHandler *)sharedInstace{
static buttonHandler *_sharedInstace = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_sharedInstace = [[self alloc] init];});
return _sharedInstace;} -(id)init {
self = [super init];
if (self)
{
[self.MyButtonIWantToDisable setEnabled: NO];
}
return self;}

我的问题:我无法到达按钮将其关闭

此致敬意 罗马

阅读有关协议和委托的信息。假设您有带有按钮的 VC1,并且 VC1 连接到 VC2,并且您希望在 VC2 中发生某些情况时禁用 VC1 中的按钮。

您可以在 VC2 中创建 VC1 符合的协议(具有自己的一组函数(,这将允许 VC1 知道何时应禁用该按钮。

该过程是在 VC2 文件中创建一个协议,其中包含与此协议相关的函数,创建一个弱委托变量,其类型是协议,使 VC1 成为 VC2 的委托,然后是关于实现协议中指定的函数。通过这种方式,VC2 可以告诉它的委托 (VC1( 它应该禁用该按钮,而 VC1 将在符合协议时禁用该按钮。

您拥有的另一个选项是创建和收听自定义通知。

最新更新