代码之家  ›  专栏  ›  技术社区  ›  MusiGenesis

如何从视图返回一个或多个值?

  •  1
  • MusiGenesis  · 技术社区  · 14 年前

    我有一个iPhone应用程序的主视图 UILabel 和A UIButton . 单击按钮时,我将显示第二个视图。第二个视图有一个文本框和一个 OK 按钮。

    我希望用户在第二个视图的文本框中输入内容,然后单击“确定”按钮;这将关闭第二个视图并将输入的文本应用于 乌拉贝尔 回到第一个视图。

    如何在第二个视图上公开文本框的内容,以及如何从第一个视图访问此内容?另外,如何让第二个视图上的“确定”按钮关闭该视图(即导航回第一个视图)?

    更新: 因为我来自.NET世界,所以我可以描述我如何在.NET中完成相同的任务,这可能使我更清楚地知道我要做什么。在.NET应用程序中,我将创建一个表单(使用文本框和按钮),然后使用 ShowDialog ,形式上呈现形式。我会在表单中添加一个公共属性(调用 EnteredText 或者其他)返回文本框中的内容。当我的呼叫代码从 显示对话框 调用时,我只需读取表单的EnteredText属性并使用它,然后处理表单。

    我正在尝试用iPhone应用程序做基本相同的事情。

    4 回复  |  直到 12 年前
        1
  •  6
  •   Ben    14 年前

    #import <Foundation/Foundation.h>
    @protocol myDelegate
    - (void) textContent:(NSString *)text;
    @end
    

    #import "myDelegate.h"
    @interface secondView : UIView {
    
    id <myDelegate> delegate;
    }
    @property (nonatomic,retain) id <myDelegate> delegate;
    

    @synthesize delegate;
    

    #import "myDelegate.h"
    
    @interface mainView: UIView <myDelegate> {
    
    }
    

    - (void) textContent:(NSString *)text {
    //Do something
    }
    

    [secondView setDelegate:self];
    

    [delegate textContent:string];
    
        2
  •  0
  •   Brian Driscoll    14 年前

        3
  •  0
  •   brutella    14 年前
        4
  •  0
  •   Peter Hosey    14 年前