0

我有 2 个视图 1) ViewController 和 2)ViewController2。在第一个视图控制器中,我有一些标签,当我运行段控制器时,名称会发生​​变化。我想要做的是,在我有标签的(Viewcontroller2)中,我希望它能够根据分段控制器为 0 或 1 来更改文本。这就是我所拥有的。

            //  ViewController.h

             #import <UIKit/UIKit.h>

    @interface ViewController : UIViewController{
        IBOutlet UISegmentedControl *Lang;
        IBOutlet UIButton *Run;
         IBOutlet UILabel *bet;
     }

     -(IBAction)ChangeLang:(id)sender;

    @end

然后在 m 文件中,我有以下内容来更改数据

  //  ViewController.m
  #import "ViewController.h"
  #import "ViewController2.h"

  @interface ViewController ()

 @end

    @implementation ViewController

  -(IBAction)ChangeLang  :(id)sender {  

 if (Lang.selectedSegmentIndex==0)
 {  
    bet.text=@"Apple";
    Run.titleLabel.text=@"Banana";
   //not sure here what code to put in order to make the label in viewcontroller2 change.

 }

 if (Lang.selectedSegmentIndex==1) {

    bet.text=@"ORANGES";
    Run.titleLabel.text=@"FRUITS";
  //not sure here what code to put in order to make the label in viewcontroller2 change.
  }
 }

这运行良好......继承人在 VIEWController 2

 //  Viewcontroller2.h
 #import <UIKit/UIKit.h>

@interface ViewController2 : UIViewController

 IBOutlet UILabel *Nextword;

@end

在 M 控制器中,我只有这个

 #import "ViewController2.h"
  #import "ViewController.h"
  @interface ViewController2 ()


@end

当我运行分段控制器时,如何在 ViewController2 中更改 uilabel 文本?任何人都可以帮忙吗?我不希望屏幕自动转到视图控制器,我能够做到这一点。我希望文本改变,然后当我滑动到那里时,我希望 Viewcontroller2 中的文本根据基于分段控制器的 if 语句。

谢谢

4

1 回答 1

0

您需要有权访问ViewController2from的实例ViewController

在您的文件中使用此代码ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController{
    IBOutlet UISegmentedControl *Lang;
    IBOutlet UIButton *Run;
    IBOutlet UILabel *bet;

    ViewConstroller2 * VC2;
}

-(IBAction)ChangeLang:(id)sender;

@end

当您创建ViewController2将其存储在VC2变量中的实例时。

然后将此代码用作您的 UISegmentedControl 更改事件:

 -(IBAction)ChangeLang:(id)sender {  

 if (Lang.selectedSegmentIndex==0)
 {  
    bet.text=@"Apple";
    Run.titleLabel.text=@"Banana";

    VC2.Nextword= "YOUR_WORD";
 }

 if (Lang.selectedSegmentIndex==1) {

    bet.text=@"ORANGES";
    Run.titleLabel.text=@"FRUITS";

    VC2.Nextword= "YOUR_WORD";
  }
 }
于 2013-10-31T23:48:37.850 回答