【问题标题】:how to show textfields value from one view controller to another viewcontroller when button is clicked单击按钮时如何将文本字段值从一个视图控制器显示到另一个视图控制器
【发布时间】:2012-11-04 03:35:54
【问题描述】:

我已经实现了两个uiviewcontrollers。我在uiview 和一个按钮上有一些文本字段。我想要的是,当我填写文本字段并单击按钮时,这些值会显示在另一个 uiview 控制器上。当我填写文本字段并单击按钮时,我遇到了一个问题,另一个uiview on 显示在 iPhone 屏幕上,但文本字段值未显示在其上。我还在我的viewcontroller.m 文件中导入了nextview.h 文件。以下是我的一些代码:

-(IBAction)save:(id)sender
{


    nextview *NView = [[nextview alloc] initWithNibName:nil bundle:nil];

    [[NView name] setText:name.text];
    [[NView fathername] setText:father.text];
    [[NView country] setText:countryselected.text];
    [[NView gender] setText:genderselected.text];
    [[NView dob] setText:dateselected.text];
    [[NView username] setText:username.text];
    [[NView password] setText:password.text];
    [[NView email] setText:email.text];
    [self presentModalViewController:NView animated:YES];

}

nextview类中,我还在.h文件中定义了uilabels的@property,我还在nextview.m文件中定义了@synthesizeinitializerelease这些标签并将这些变量链接到所有标签。问题仍然存在。我该怎么做才能避免这个问题?

【问题讨论】:

    标签: iphone objective-c uiview uiviewcontroller


    【解决方案1】:

    看这行代码:

    nextview *NView = [[nextview alloc] initWithNibName:nil bundle:nil];
    

    您使用 nil 作为 nib 名称来创建下一个视图。您是否覆盖了 nextview 的 initWithNibName 以提供 nib 名称?

    【讨论】:

    • 但是当我点击按钮时,下一个视图也显示给我,标签和按钮上的下一个视图也显示给我它是如何被覆盖的
    【解决方案2】:

    您是否在调用时初始化您的成员(例如姓名) nextview *NView = [[nextview alloc] initWithNibName:nil bundle:nil];如果你在 viewdidiload 或其他关于视图的函数中初始化它们,那么它们将在之后被初始化 你调用 [self presentModalViewController:NView animated:YES];

    【讨论】:

      【解决方案3】:

      您可以通过多种方法将数据从一个视图传递到另一个视图。在本教程中有关于此方法的简要说明您想要查看它Tutorial Source Code

      【讨论】:

        【解决方案4】:

        有关 initWithNibName,请参阅苹果文档

        http://developer.apple.com/library/ios/ipad/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

        在访问它的视图之前不会加载 nib。如需额外的初始化,请使用 viewDidLoad。

        意思是,在 initWithNibName 之后没有直接设置 outlet。

        因此,您可以做的其中一件事是在 nView 中添加对第一个 viewController 的引用作为属性,并在 nView 的 viewDidLoad 中根据第一个 VC 标签设置标签。

        附带说明:您的命名约定是错误的。对类使用大写,对类的实例使用小写,即它应该是

        Nextview *nView;
        

        【讨论】:

          猜你喜欢
          • 2012-05-05
          • 2013-04-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-01
          • 2020-10-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多