如何在不导航的情况下禁用另一个类中的uibutton(how to Disable a uibutton in another class without navigating to that)

编程入门 行业动态 更新时间:2024-10-27 06:23:34
如何在不导航的情况下禁用另一个类中的uibutton(how to Disable a uibutton in another class without navigating to that)

我的问题不同,我有一个大视图(classA)和一个小视图(classB),除了这个小视图有四个属于A类的按钮,我想禁用这些按钮。 这是我的代码。

在课堂上

-(void)HideButtons{ mainView = [[MainViewController alloc]initWithNibName:@"MainViewController" bundle:NULL]; [mainView HidesideBarButtons]; }

在B班

-(void)HidesideBarButtons{ self.peBtn.enabled = NO; ByViewBtn.enabled = NO; favouriteBtn.enabled = NO; settingBtn.enabled = NO; ItemButton.enabled = NO; addVehBtn.enabled = NO; uploadAllBtn.enabled = NO; deletevideosBtn.enabled = NO; }

这些按钮没有被禁用。我没有导航到那个视图(cassA)我住在同一个班级;

My problem is different here i have a big view(classA) and a small view on it(classB), beside this small view there are four buttons which belongs to class A ,I want to disable those buttons. here is my code.

in classB.m

-(void)HideButtons{ mainView = [[MainViewController alloc]initWithNibName:@"MainViewController" bundle:NULL]; [mainView HidesideBarButtons]; }

in class B

-(void)HidesideBarButtons{ self.peBtn.enabled = NO; ByViewBtn.enabled = NO; favouriteBtn.enabled = NO; settingBtn.enabled = NO; ItemButton.enabled = NO; addVehBtn.enabled = NO; uploadAllBtn.enabled = NO; deletevideosBtn.enabled = NO; }

these buttons are not getting disabled.i'm not navigating to that view(cassA) i'm staying in same class;

最满意答案

如果我理解你的问题,你需要使用委托

在ClassB.h中


@protocol ClassBDelegate <NSObject> -(void) hideSideBarButtons; @interface ClassB: UIViewController { __unsafe_unretained id<ClassBDelegate> delegate_; } @property (nonatomic, assign) id delegate; -(void)hideButtons; @end ---------- In ClassB.m ---------- @implementation ClassB @synthesyze delegate = delegate_; -(void)hideButtons { [self.delegate hideSideBarButtons]; } ---------- In class MainViewController you need to sign up for ClassBDelegate event. Use this code in MainViewController.h ---------- @interface MainViewController : UIViewController <ClassBDelegate> In ClassB.h @protocol ClassBDelegate -(void) hideSideBarButtons; @interface ClassB: UIViewController { __unsafe_unretained id delegate_; } @property (nonatomic, assign) id delegate; -(void)hideButtons; @end In ClassB.m @implementation ClassB @synthesyze delegate = delegate_; -(void)hideButtons { [self.delegate hideSideBarButtons]; }

在MainViewController类中,您需要注册ClassBDelegate事件。 在MainViewController.h中使用此代码

@interface MainViewController : UIViewController

在MainViewController.m初始化ClassB ,需要编写:

[classB setDelegate:self];

比你需要在MainViewController.m文件中编写ClassBDelegate方法- (void) hideSideBarButtons并禁用此方法中的所有按钮。 例如(在MainViewController.m )


-(void) hideSideBarButtons { self.peBtn.enabled = NO; }

希望能帮助到你))

Make an object of classA then access the button using that object

-(void)HidesideBarButtons{ ClassA *obj =[[ClassA alloc]init];//Initialize it by your way UIButton *myBtn=[obj getButton1]; [myBtn setEnabled:FALSE]; }

更多推荐

本文发布于:2023-08-03 08:13:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1385306.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:类中   情况下   如何在   uibutton   class

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!