从ios中的其他控制器访问标签

时间:2012-01-12 18:06:27

标签: ios uilabel

我在一个Controller.h中尝试此代码

    @interface ColorPickerViewController : UIViewController {

    IBOutlet UILabel *Labelniz;
}

    @property (nonatomic, retain) UILabel* Labelniz;

Controller.m中的此代码

@implementation ColorPickerViewController

@synthesize Labelniz=_Labelniz;

但我使用类似ColorPickerViewController.Labelniz的内容会出错。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

在UIViewController中创建一个要从中访问标签的属性,就像使用标签但是对于ColorPickerViewController一样。然后,当您按下/显示新视图时,将其设置为self。

ColorPickerViewController *colorPickerViewController;
@propery (nonatomic, retain) ColorPickerViewController *colorPickerViewController;

当然:

@syntesize colorPickerViewController

在显示视图之前将其设置为自我:

viewThatYouArePresenting.colorPickerViewController = self.
[self.navigationController pushViewController:youViewController animated:YES]//Or whichever your using, this is just an example

然后你可以像你一样从视图中设置它:

colorPickerViewController.Labelniz = @"xxxxx";

这样做:

ColorPickerViewController *controller = [[ColorPickerViewController alloc] init];

实例化该控制器的另一个实例,因此它实际上是更改新实例化的ColorPickerViewController的标签。您想要的是更改已经实例化的ColorPickerViewController中的标签。

答案 1 :(得分:0)

我希望你这样做

ColorPickerViewController *controller = [[ColorPickerViewController alloc] init];

controller.Labelniz = .......

ColorPickerViewController是类,控制器是对象。您可以访问特定对象的属性(在本例中为控制器对象的Labelniz属性)。