如何从 UIPopover 中的 UIButton 在主 UIView 中创建 UITextView?

Posted

技术标签:

【中文标题】如何从 UIPopover 中的 UIButton 在主 UIView 中创建 UITextView?【英文标题】:How do i create a UITextView in main UIView from a UIButton Within UIPopover? 【发布时间】:2012-01-10 17:30:07 【问题描述】:

UIControlEventTouchUpInside 发生在UIPopoverController 中的 UIButton 时,我正尝试在我的 Main UIViewController 中创建一个 UITextView。 我尝试使用委托协议来允许在 Main viewcontroller.m 中引用我的按钮,但我认为我做得不对。我还要提到我已经在UIPopoverUIView 子类中以编程方式创建了UIButtonUITextField

【问题讨论】:

【参考方案1】:

您在UIPopoverController 中显示的视图控制器应如下所示:

@interface MyViewControllerForPopover : UIViewController
    @property (weak) UIViewController *viewControllerInWhichCreateTheTextField;
    ...
@end

意味着您可以保留对要在其中添加文本字段的视图控制器的弱引用。您在此 MyViewControllerForPopover 中生成的按钮可以执行以下操作:

- (void)createTextViewInConnectedViewController:(id)sender 
    UITextField *myTextField = ...;
    [self.viewControllerInWhichCreateTheTextView.view addSubview:myTextField];

关键概念是您希望对要更改的视图控制器具有弱引用(以避免保留循环)。如果该视图控制器具有实际添加文本字段本身的方法,那就更好了。希望对您有所帮助!

【讨论】:

感谢您的回复,我会试试你的方法!

以上是关于如何从 UIPopover 中的 UIButton 在主 UIView 中创建 UITextView?的主要内容,如果未能解决你的问题,请参考以下文章

UIPopover 中的导航栏

在 uipopover 中时,UIButton 不响应 touchupinside

如何从另一个 UIPopover 控制器打开 UIPopover 控制器?

iPad键盘分裂时调整UIPopover

启动时如何将数据从 uiviewcontroller 发送到 uipopover?

如何从 UISegmentedControl 的选定段呈现 UIPopover