我正在尝试在我的主UITextView
中创建一个UIViewController
,当UIControlEventTouchUpInside
发生在UIPopoverController
的我的UIButton时。
我试图使用委托协议允许我的按钮在主viewcontroller.m中引用,但我不认为我做得对。我还要提到我已在UIButton
的{{1}}子类中以编程方式创建了UITextField
和UIView
。
答案 0 :(得分:0)
您在UIPopoverController
中显示的视图控制器应如下所示:
@interface MyViewControllerForPopover : UIViewController
@property (weak) UIViewController *viewControllerInWhichCreateTheTextField;
...
@end
这意味着您可以对要添加文本字段的视图控制器保留弱引用。您在此MyViewControllerForPopover
中生成的按钮可以执行以下操作:
- (void)createTextViewInConnectedViewController:(id)sender {
UITextField *myTextField = ...;
[self.viewControllerInWhichCreateTheTextView.view addSubview:myTextField];
}
关键概念是您希望对要更改的视图控制器具有弱引用(以避免保留周期)。如果视图控制器有一个实际添加文本字段本身的方法,那就更好了。希望它有所帮助!