访问另一个UIViewControllers视图中的UITextField



这就是我如何使用XIB视图控制器视图作为MainViewController:中的子视图

UIViewController *nameController = [[NameSubViewController alloc] initWithNibName:@"NameSubViewController" bundle:nil];
nameSubView = [nameController view];
[self.view addSubview:nameSubView];

nameController view包含UITextField属性。我可以从MainViewController访问此属性吗?

编辑:

如果我也在视图控制器中为textField创建了一个属性,我仍然无法在MainViewController中获得它。认为这是因为UIView子类化引起的问题吗?

名称子视图控制器.h:

#import <UIKit/UIKit.h>
@interface NameSubViewController : UIViewController
@property (nonatomic, strong) IBOutlet UITextField *textField;
@end

名称子视图.h:

#import <UIKit/UIKit.h>
@interface NameSubView : UIView
@property (nonatomic, strong) IBOutlet UITextField *textField;
- (IBAction)textFieldReturn:(id)sender;
@end

NameSubViewController:的IB中的连接

连接,NameSubViewController

NameSubView:的IB中的连接

连接,名称子视图

您是否为nameController中的文本字段创建了出口?这样做,然后您可以使用检索值

nameController.textField.text

在nib文件中,单击文件的所有者图标(在nib的左侧),并使用右侧的检查器将其类设置为UIView的子类。

为什么要在控制器B中添加来自控制器A的视图。只使用其xib文件创建视图并将该视图添加到控制器视图中不是更好吗。对于访问字段,您可以为文本字段分配一个标记,并且在代码中需要它的地方,调用self.view视图WithTag:<(NSInteger)#>方法。

相关内容

最新更新