gpt4 book ai didi

ios - 使父 View Controller 可以访问 subview 中的 UIButton

转载 作者:行者123 更新时间:2023-11-29 12:45:19 26 4
gpt4 key购买 nike

按照本用户指南的设置,我的应用程序 View 中有一个 subview :

http://patientprogrammer.wordpress.com/2012/03/12/re-usable-subviews-in-ios/

我有一个 UIView,它是显示 View 的 subview .xib 文件的文件所有者:

-(void)awakeFromNib

{
[[NSBundle mainBundle] loadNibNamed:@"headerview" owner:self options:nil];
[self addSubview:self.view_header];
}

现在这个 subview 中有一个按钮,我需要它是可点击的。是否可以从父 View UIViewController 访问此按钮?

最佳答案

  1. 首先在您的 subview headerView (headerView.h) 中将协议(protocol)定义为:

    @protocol headerViewDelegate;

    @interface hearderView : UIView
    @property (nonatomic,strong)IBAction UIButton * button1;
    @property (nonatomic, assign) id<headerViewDelegate> delegate;

    @end

    @protocol headerViewDelegate <NSObject>

    @optional

    -(void)didClickedButton1;

    @end
  2. 在.m文件中点击按钮的方法

    [self.delegate didClickedButton1];

    (这表示此 View 的委托(delegate)将执行此 didClickedButton1: 方法)(Viewcontroller如果在头文件中符合这个协议(protocol)就可以成为delegate)

  3. 现在,在父 View Controller 中:

    一个。符合使用 headerViewDelegate 导入“标题 View ” 放

    现在您可以将方法 didClickedButton1 放在父 View Controller 中。 单击按钮 1 时将调用它。

     -(void) didClickedButton1{

    //do your stuffs here
    }

    当你点击 subview 中的按钮时,这个方法在父 View Controller 中被调用,因为在父 View Controller 中我们说我是你的代表( subview )并且我将完成你所拥有的任务在您的协议(protocol)中提到(这里是 -(void) didClickedButton1: 方法)。

关于ios - 使父 View Controller 可以访问 subview 中的 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23810527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com