Iphone 从另一个视图控制按钮文本

Iphone 从另一个视图控制按钮文本,iphone,ios,uibutton,Iphone,Ios,Uibutton,我有两个视图,使用了两个视图控制器。从主视图中,我想用特定文本初始化第二个视图中的按钮 如果在第二个视图中按下按钮,则可以将该按钮引用存储到全局UIButton,然后更改文本 但是第一次,我如何用特定的文本在主视图的第二个视图中初始化按钮文本?您不应该这样做:每个控制器都应该对自己的视图负责。句号 您始终可以在第二个控制器上设置一些权限,并在第二个视图出现在屏幕上时使用它来更改任何您喜欢的内容 您不应该这样做:每个控制器都应该对自己的视图负责。句号 您始终可以在第二个控制器上设置一些权限,并在第

我有两个视图,使用了两个视图控制器。从主视图中,我想用特定文本初始化第二个视图中的按钮

如果在第二个视图中按下按钮,则可以将该按钮引用存储到全局UIButton,然后更改文本


但是第一次,我如何用特定的文本在主视图的第二个视图中初始化按钮文本?

您不应该这样做:每个控制器都应该对自己的视图负责。句号


您始终可以在第二个控制器上设置一些权限,并在第二个视图出现在屏幕上时使用它来更改任何您喜欢的内容

您不应该这样做:每个控制器都应该对自己的视图负责。句号


您始终可以在第二个控制器上设置一些权限,并在第二个视图出现在屏幕上时使用它来更改任何您喜欢的内容

不知道你是怎么做到的。但是如果你发布一些代码,它会很有帮助。如果您已经有了上面的代码,那么您需要具备以下功能才能实现预期的工作

假设您有ViewControllerA和ViewControllerB作为两个视图控制器。在创建XIB文件时,您完全可以初始化按钮中的文本

但我假设你想通过编程来实现这一点。如果要访问另一个视图控制器中的按钮,需要

a。访问其他视图控制器。 B访问另一个视图控制器后,请访问该视图控制器中的UIButton变量

因此,您可以在ViewControllerA代码中执行以下操作

-(void)changeButtonTextOfVCB{
        viewControllerB.button setTitle:@"MyTitle" forControlState...
 }
您可以在viewControllerA中有一个按钮,它将触发上述方法


话虽如此,但我不确定整个系统是否正常工作,您甚至可以在视图控制器之间切换。我不确定您是如何做到这一点的。但是如果你发布一些代码,它会很有帮助。如果您已经有了上面的代码,那么您需要具备以下功能才能实现预期的工作

假设您有ViewControllerA和ViewControllerB作为两个视图控制器。在创建XIB文件时,您完全可以初始化按钮中的文本

但我假设你想通过编程来实现这一点。如果要访问另一个视图控制器中的按钮,需要

a。访问其他视图控制器。 B访问另一个视图控制器后,请访问该视图控制器中的UIButton变量

因此,您可以在ViewControllerA代码中执行以下操作

-(void)changeButtonTextOfVCB{
        viewControllerB.button setTitle:@"MyTitle" forControlState...
 }
您可以在viewControllerA中有一个按钮,它将触发上述方法


话虽如此,但我不确定您是否已经完成了整个工作,您甚至可以在视图控制器之间切换

您使用委托和协议访问其他类


您使用委托和@protocol访问其他类


如果您在FirstViewController中创建一个按钮,并希望从第二个视图中更改按钮属性,如title..等,则应在SecondViewController中创建属性

  @property (nonatomic,assign) UIButton *button;
当您将firstViewController导航到secondViewController时,只需像这样传递按钮对象

obj = [SecondViewController alloc]...]
obj.button = button;//(FirstViewController button object)

如果您在FirstViewController中创建按钮,并希望从第二个视图更改按钮属性,如标题..等,则应在SecondViewController中创建属性

  @property (nonatomic,assign) UIButton *button;
当您将firstViewController导航到secondViewController时,只需像这样传递按钮对象

obj = [SecondViewController alloc]...]
obj.button = button;//(FirstViewController button object)

这是最简单的方法。只需在第二视图控制器和主视图控制器中保留一个
NSString
属性,将该属性指定给所需的值,然后在第二视图的视图中将出现方法,将该属性指定给按钮的标题即可。@Anton。很好的输入。我会的。但是,如何在每次视图加载不同文本时“初始化”按钮文本。我应该在viewDidLoad中这样做吗?或者调用一个init函数?但是如何访问init函数或viewDidLoad等中按钮的属性?当使用-(iAction)buttonPressed:(UIButton*)sender方法时,我可以很容易地做到这一点,因为我有权访问button对象。但是从init如何获取对按钮的引用。当调用-viewDidLoad时,出口已经初始化,因此您可以在-viewDidLoad中编写类似:[self.myButton setText:self.myTextProperty for ControlState:UIControlStateNormal]的内容。但是,在-viewwillbefore中调用此函数可能更合适:(以防重复使用控制器实例)-它在viewDidLoad之后调用,因此出口也设置在那里。总而言之:只需在控制器中设置一个插座,将其连接到一个按钮,然后在-viewDidLoad或-viewwillbe现中设置文本:@Anton,宾果。。。关键是,我应该创建一个出口并映射按钮。非常感谢。这是最简单的方法。只需在第二视图控制器和主视图控制器中保留一个
NSString
属性,将该属性指定给所需的值,然后在第二视图的视图中将出现方法,将该属性指定给按钮的标题即可。@Anton。很好的输入。我会的。但是,如何在每次视图加载不同文本时“初始化”按钮文本。我应该在viewDidLoad中这样做吗?或者调用一个init函数?但是如何访问init函数或viewDidLoad等中按钮的属性?当使用-(iAction)buttonPressed:(UIButton*)sender方法时,我可以很容易地做到这一点,因为我有权访问button对象。但是从init如何获取对按钮的引用。当调用-viewDidLoad时,出口已经初始化,因此您可以在-viewDidLoad中编写类似:[self.myButton setText:self.myTextProperty for ControlState:UIControlStateNormal]的内容。但是,在-viewWillExample中调用此函数可能更合适:(以防重复使用控制器实例)-它在viewDidLo之后调用