【问题标题】:How do i create a UITextView in main UIView from a UIButton Within UIPopover?如何从 UIPopover 中的 UIButton 在主 UIView 中创建 UITextView?
【发布时间】:2012-01-10 17:30:07
【问题描述】:
当UIControlEventTouchUpInside 发生在UIPopoverController 中的 UIButton 时,我正尝试在我的 Main UIViewController 中创建一个 UITextView。
我尝试使用委托协议来允许在 Main viewcontroller.m 中引用我的按钮,但我认为我做得不对。我还要提到我已经在UIPopover 的UIView 子类中以编程方式创建了UIButton 和UITextField。
【问题讨论】:
标签:
uiviewcontroller
uibutton
uitextview
uipopovercontroller
【解决方案1】:
您在UIPopoverController 中显示的视图控制器应如下所示:
@interface MyViewControllerForPopover : UIViewController
@property (weak) UIViewController *viewControllerInWhichCreateTheTextField;
...
@end
意味着您可以保留对要在其中添加文本字段的视图控制器的弱引用。您在此 MyViewControllerForPopover 中生成的按钮可以执行以下操作:
- (void)createTextViewInConnectedViewController:(id)sender {
UITextField *myTextField = ...;
[self.viewControllerInWhichCreateTheTextView.view addSubview:myTextField];
}
关键概念是您希望对要更改的视图控制器具有弱引用(以避免保留循环)。如果该视图控制器具有实际添加文本字段本身的方法,那就更好了。希望对您有所帮助!