【问题标题】:UITextView can not scroll to bottom when make a new line换行时UITextView无法滚动到底部
【发布时间】:2017-02-22 08:56:30
【问题描述】:

当我在文本末尾的 textview 中发短信时,当 textview 决定换行写入时,似乎 textview 会自动设置 contentoffset 以使最后一行可见(而不是 textview 的底部可见, 只是文本的最后一行可见),

但是如果我想让 textview 像这样滚动到底部,如何很好地实现这一点?

添加

我想要的是在 iPhone 的“消息”应用程序中创建一个类似于 textView 的 textView。现在我的版本和消息之间的唯一区别是我的 TextView 将滚动到最后一行可见,而 TextView 是“消息”将滚动到底部,我想做同样的事情

【问题讨论】:

    标签: ios uikit uitextview


    【解决方案1】:

    我认为您可以通过设置contentInset 来实现这一点,例如

    self.textView.contentInset = UIEdgeInsetsMake(0, 0, 10, 0);
    

    这将增加最后一行和底部之间的填充。

    【讨论】:

    • 谢谢,不过好像不行,其实我最想要的就是在插入新行时替换textview的默认行为
    • 这似乎很难做到。也许应该考虑另一种方式来从用户体验的角度定义该行为,而不是试图覆盖系统行为。
    【解决方案2】:

    如果我正确理解你的问题......

    您始终可以将“\n”添加到文本字符串的末尾,这将为您提供最后一个空行。

    在键入时使用UITextViewDelegate 方法管理添加或删除或检查“\n”。

    【讨论】:

    • -_-,我知道我的描述很难理解,我想要的是在 iPhone 的“消息”应用程序中制作一个类似于 textView 的 textView。现在我的版本和消息之间的唯一区别是我的 TextView 将滚动到最后一行可见,而 TextView 是“消息”将滚动到底部,我想做同样的事情:)
    • @ximmyxiao 尝试在字符串末尾添加“\n”,它会在底部给你一个空行。但是如果你在做复杂的 UI,我建议使用 UIScrollView 或 UITableView 来做。
    猜你喜欢
    • 2013-05-17
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 2017-03-06
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多