问题标签 [uitextview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3050 浏览

iphone - 选择 textview 时 UITextview 内容向上移动

我对这个 iPhone 开发者很陌生,但到目前为止,我已经构建了一个非常好的应用程序,但我偶然发现了这个问题,我这辈子似乎无法解决。

基本上,该应用程序是社交网站的聊天应用程序。除了当前是 UITextbox 的输入框外,一切都在 100% 工作。这很好用,但是我希望该框能够增长并成为带有滚动的多行 UITextbox。我用 UITextview 替换了 UITextbox,一切都很好。当用户输入文本时,我的 UITextview 会扩展,但是我有一个小问题让我抓狂。

当 UITextview 获得焦点时,它会将光标和其中的任何文本移到视线之外。我设置的 UITextview 默认显示 2 行,然后当文本的高度超出这两行时,我希望框变大(它确实如此)并且文本保持向上滚动,这样你就可以看到你是什么打字。如果您查看 iPhone 上的 SMS 应用程序,这正是我希望它工作的方式。

任何智慧之言将不胜感激。

0 投票
4 回答
11522 浏览

iphone - 以编程方式设置时 UITextView selectedRange 不显示

我的问题是以编程方式设置 UITextView 的 selectedRange 会选择文本,但不会直观地表明它已被选中。这听起来像 OS 3.0/3.1 中的错误吗?更重要的是,有什么解决方案或建议可以让选择显示?(链接在消息底部的示例项目)

由于我没有收到视觉反馈,我怎么知道它已被选中?两个原因:

  1. 没有闪烁的光标
  2. 点击键盘上的任意键会删除选择范围内的现有文本。

我在视图控制器中有一个 UITextView,它允许编辑用户可更改的值。当在表格行上接收到双击时打开编辑器控制器,或者用户在行上点击详细信息披露按钮。viewcontroller 通过 presentModalViewController 到达,在编辑器 VC 的 viewWillAppear 方法中,我用[self.textView becomeFirstResponder];

有时我想用选定的文本视图的全部内容启动编辑器,这样用户就可以简单地开始输入,它会删除现有的内容(这是因为我创建了具有默认标题的新项目,所以几乎可以肯定用户会首先删除编辑器文本字段的全部内容,然后键入其标题)。

我已经尝试过的一些事情:

  1. 在 viewDidAppear 中设置选定的范围(而不是在 textViewDidBeginEditing 中设置)。
  2. 用其中的文本副本替换 _textView.text 然后应用 selectedRange (在 textViewDidBeginEditing 中)......也许我正在处理框架错误,这可能会解决它。
  3. [[_textView webView] selectAll];(私有 API)。同样的行为,选择文本时没有视觉反馈。
  4. 发送 _textView setNeedsDisplay 和 setNeedsLayout。
  5. 使用 performSelector ... afterDelay 设置 selectedRange 以便在退出 textViewDidBeginEditing 后发生。

参考 SO: 这里这里

-- 编辑 --
这是提交给 Apple BugReporter 的示例项目。下载 BugReport_7380723 示例项目

附加信息:

在创建和使用示例项目提交时,我发现了两件事:

  • When there's text selected but no highlight displayed, tap some keystrokes then "shake to undo" and the original text is restored but IS highlighted.

  • 如果您在文本视图中手动进行选择,然后点击“全选”按钮[参考上面链接的示例项目],所有文本都被选中正确显示突出显示。

0 投票
2 回答
1697 浏览

iphone - UITextView 中的用户输入调用委托方法两次?

我想将字符串与用户输入的字符逐个字符进行比较。例如,我想让用户输入“我有一个苹果”。并将输入与此字符串进行比较,以查看他的输入是否正确。当他输入错误的字符时,iphone会立即振动通知他。问题是我发现一些像空格这样的字符会调用委托方法两次

p>

当我按空格键时,我第一次将文本与 ' ' 进行比较时,结果会告诉我它们是同一个字符。但在那之后,我必须将字符串字符的索引推进到下一个。而第二次调用委托方法,iphone会震动。关于如何解决这个问题的任何想法?

这是我的代码:

0 投票
1 回答
897 浏览

iphone - iPhone键盘Shift状态:如何控制?

抱歉,如果我的问题很愚蠢,但我找不到解决方法。事情是有一个自定义文本视图,有时需要根据自己的规则包装文本。静态内容一切正常,但如果我在用户开始写另一个单词时插入一个 @"\n"(我知道他要输入的单词,但我知道它无论如何都不适合),iPhone 键盘会自动切换shift on,这让用户发疯,因为他不打算将这个词大写。让这些包装工作对我来说至关重要,所以我要么需要一种以另一种方式结束行的方法,要么需要在键盘上切换回档。

或者,简而言之:如何以编程方式切换键盘的切换?

有人吗?

更新伙计们,关于 iPhone 键盘的一个小问题。AFAIK 我们可以获取键盘的对象(通过获取 UIKeyboardImpl 类并在其上调用 +sharedInstance)并且显然可以围绕它做一些事情。但是,我也听说 Apple 非常关心这种黑客攻击,所以我很好奇如果我使用这种方法解决问题,他们是否会拒绝该应用程序?显然,我不会改变 kayboard 的前景,甚至逻辑保持不变(至少从人类的角度来看),但这足以不被踢吗?

更新 2现在我设法通过关闭 autocap 并手动设置换档状态来实现所需的行为。有更好的解决方案吗?

0 投票
3 回答
5341 浏览

objective-c - 将事件连接到 UITextView

我似乎无法将事件连接到我的 UITextView。

期望UITextField 可用的事件列表(“退出时结束”、“编辑更改”等)应该都可用于 UITextView。

然而事实并非如此。UITextView 在其事件列表中没有显示任何内容

这里发生了什么以及如何捕获 UITextView 的事件?

0 投票
3 回答
8823 浏览

iphone - 如何将 UITextView 的“委托”出口连接到实现 UITextViewDelegate 协议的类?

如何将 UITextView 的“委托”出口连接到实现 UITextViewDelegate 协议的类?

我似乎在文档中找不到示例

奇怪的是 UITextView 的“代表”插座有拖放界面的东西,就像你可以将它连接到另一个小部件但当然,我不想将它连接到小部件,我想连接它最多一个现有的类

0 投票
2 回答
1396 浏览

uitextview - 给定 UITextView 如何获得 UIViewController?

我正在处理 UITextViewDelegate 中的代码。那里的每个函数都接收接收事件的 UITextView 实例,例如:

然而,在该方法中,仅给定 textView,我需要访问包含 textView 的 UIViewController。

使用textView.superview(甚至它的多个阶段)似乎不起作用 - 我只得到:

  • textView.superview = UIView 的一个实例
  • textView.superview.superview = UIViewControllerWrapperView
  • textView.superview.superview.superview = UINavigationTransitionView
  • textView.superview.superview.superview.superview = UILayoutContainerView
  • textView.superview.superview.superview.superview.superview = UIWindow
  • textView.superview.superview.superview.superview.superview.superview = nil

我通过打印出类似的东西找到了类名

0 投票
6 回答
9104 浏览

iphone - UITextView 自动滚动到最后一行

当在 UITextView 中写入的文本超出其完全可以容纳的内容时,文本将向上滚动,并且光标通常会在视图的底线上方放置一到两行。这有点令人沮丧,因为我希望我的应用程序能够充分利用文本视图的整个高度。

基本上我想要的是配置 UITextView 以写到它的最低部分,而不是仅仅将它用于滚动。

我在这里这里这里看到了一些类似的问题。但是我还没有看到合适的解决方案。

谢谢

0 投票
0 回答
564 浏览

iphone - UIPasteboard 剪切粘贴选择按钮未按预期显示

在我们所有的 UITextView 中都经历了以下行为。到目前为止还没有看到任何关于这个问题的帖子。

  1. 首次进入应用程序按预期工作(可以粘贴、选择、剪切或复制文本)。
  2. 退出应用程序并重新进入后,标准 UIPasteboard 按钮不显示。
  3. 这会影响应用程序中的所有 UITextView。没有自定义 UIPasteboard 代码。

Spyglass 和蓝色文本选择句柄将不显示菜单。症状似乎[UIMenuController setMenuVisible:NO]已被调用。我们没有执行此操作的代码。

我们只是希望复制和粘贴在我们的 UITextView 中始终如一地工作。

如果我们重新启动手机,或者删除并重建应用程序,它在第一次执行时运行良好,然后从第二次执行开始就处于这种状态。

我们可能会做什么来触发这种行为?

0 投票
2 回答
1161 浏览

iphone - UITextview中的numberOfLines?

UIlabel 具有 numberOfLines 属性。它说我的字符串有 2 行。但是当我使用 UItextview 时,我想根据 UITextview 中的文本长度来拆分行数。我该怎么做?UIlabel 自动拆分,但 UITextview 不这样做。