我有两个视图,我使用了两个视图控制器。从主视图中,我想用特定文本初始化第二个视图中的按钮。
如果我在第二个视图中按下按钮,那么我可以将该按钮引用存储到全局 UIButton,然后再更改文本。
但是第一次,我如何使用特定文本从我的主视图初始化第二个视图中的按钮文本?
你不应该这样做:每个控制器都应该对自己的视图负责。句号。
您始终可以在第二个控制器上设置一些属性,并在屏幕上出现第二个视图时使用它来更改您喜欢的任何内容。
不知道你是怎么做到的。但是,如果您发布一些代码,它将有所帮助。如果您已经使上述代码正常工作,那么您需要具备以下条件才能实现您期望的工作。
假设您有 ViewControllerA、ViewControllerB 作为两个视图控制器。您绝对可以在创建 XIB 文件时初始化按钮中的文本。
但我假设您想以编程方式执行此操作。如果要访问另一个视图控制器中的按钮,则需要
一个。访问其他视图控制器。湾。一旦您可以访问另一个视图控制器,就可以访问该视图控制器中的 UIButton 变量。
因此,您可以在 ViewControllerA 代码中执行以下操作,
-(void)changeButtonTextOfVCB{
viewControllerB.button setTitle:@"MyTitle" forControlState...
}
你可以在viewControllerA中有一个按钮,它会触发上面的方法。
话虽如此,我不确定你是否有整个工作,你甚至可以在视图控制器之间切换
如果您在 FirstViewController 中创建一个按钮并希望从第二个视图更改按钮属性(如 title..etc),那么您应该在 SecondViewController 中创建属性
@property (nonatomic,assign) UIButton *button;
当您将 firstViewController 导航到 secondViewController 时,只需传递按钮对象即可
obj = [SecondViewController alloc]...]
obj.button = button;//(FirstViewController button object)