【问题标题】:ios/objective-c: Create Segue from Textview to View Controller in Storyboardios/objective-c:从 Textview 创建 Segue 到 Storyboard 中的 View Controller
【发布时间】:2015-10-30 13:34:57
【问题描述】:

我希望用户能够点击文本视图(不接受输入)并转到另一个视图控制器来编辑文本视图。

这可以使用情节提要吗?

如果您只是从 textview 拖动到另一个视图控制器,您将无法选择创建 segue。

感谢您提供有关如何执行此操作的任何建议。

【问题讨论】:

  • Segues 在UIViewController 之间。从包含您的UITextViewUIViewController 执行此操作。您可以检测到UITextView 何时被点击,然后执行 segue。
  • 我能够从一个按钮到另一个 VC...
  • 那是因为它触发了它的“父视图控制器”来执行 segue,因为 segue 通常是通过用户交互来完成的,比如按下按钮。这只是一个方便的做法。但UITextView 的主要用途是输入文本。

标签: ios storyboard segue


【解决方案1】:

将你的 UITextView 代理连接到视图控制器

Control-click 并从视图控制器图标拖动到目标视图控制器以创建一个 segue

选择“显示”

点击segue箭头并给它一个标识符

将 UITextViewDelegate 添加到您的视图控制器

@interface ViewController <UITextViewDelegate>

实现委托方法

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView {
    [self performSegueWithIdentifier:@"PUSH_NEXTVIEWCONTROLLER" sender:textView];
    return NO;
}

【讨论】:

  • 是否必须启用用户交互?我之前禁用了它,这样用户就不会认为他们可以在此屏幕上编辑实际的 textview 或意外更改它,而是在单独的编辑屏幕上编辑它
  • 如果userInteractionEnabled 被禁用,该视图将不会响应任何触摸事件,因此必须启用它。您唯一想要禁用它的情况是,如果您希望它忽略所有触摸。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-13
  • 2020-05-16
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多