从不同的观点变更标签[关闭](Change label from a different view

2019-09-20 18:42发布

这主要是一个代表团的问题,因为我还在学习,并没有得到它。 我不知道如何去创造我所需要的委托。

我知道类似的问题已经被问,但解决方案不帮我出。 如何切换标签上查看1为UITextField从视图2的内容的文本?

谢谢!

Answer 1:

在此代码段,ChildViewController是您的视图2和ParentViewController是您的视图1。

在您的ChildViewController.h文件:

@protocol ChildViewControllerDelegate <NSObject>
- (void)parentMethodThatChildCanCall:(NSString *)string;  //pass back the string value from your textfield
@end

@interface ChildViewController : UIViewController 
{
    @property (weak, nonatomic) IBOutlet UITextField *myTextField;
}
@property (assign) id <ChildViewControllerDelegate> delegate;

在您的ChildViewController.m文件:

@implementation ChildViewController
@synthesize delegate;

// Some where in your ChildViewController.m file
// to call parent method:
//  [self.delegate parentMethodThatChildCanCall:myTextField.text];

在ParentViewController.h文件:

@interface parentViewController <ChildViewControllerDelegate>
{
    @property (strong, nonatomic) IBOutlet UILabel *myLabel;
}

在ParentViewController.m文件:

//after create instant of your ChildViewController

childViewController.delegate = self;

- (void) parentMethodThatChildCanCall:(NSString *)string
{
  // assign your passed back textfield value to your label here
    myLabel.text = string;
}


文章来源: Change label from a different view [closed]