分段控制 - 在另一个视图中更改标签文本

时间:2013-10-31 23:22:54

标签: ios iphone uiviewcontroller

我有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文本?有人可以帮忙吗?我不希望屏幕自动转到viewcontroller,我能够做到这一点。我想要更改文本,然后当我滑动去那里时,我希望Viewcontroller2中的文本根据基于分段控制器的if语句。

谢谢

1 个答案:

答案 0 :(得分:0)

您需要访问ViewController2的{​​{1}}实例。

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变量中。

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

VC2