iphone - 如何像Notes App一样设置UITextView内容inset

标签 iphone ios uitextview

我在一个应用程序中工作,我需要在其中提供像 iPhone 中的 Notes 应用程序这样的功能。如第一个屏幕截图所示,最初,笔记在内容开始之前留下一个选项卡,我也想做同样的事情,为此当我将 Left Content inset (UITextView 的)设置为 25 时,它显示就像屏幕截图 2 中一样,在这里您可能会看到图像也发生了移动。我已将图像设置为背景。我不知道如何解决这个问题。

我还尝试将图像添加为 UITextview 的 subview ,但它不会重复这些行,同时像笔记应用程序一样滚动(行图像)。

Notes App output I get

我正在通过以下代码设置 Textview 的背景。

[textView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"line_image.png"]]];

请告诉我我是否出错或需要任何额外的努力才能获得所需的输出。

谢谢

最佳答案

UITextView 是 UIScrollView 的子类,因此所有相关的委托(delegate)方法都可供您使用(例如 scrollViewDidScroll:)——您可以在该方法中调整您的自定义背景。

Dr.Touch blog 上有非常好的帖子关于重新创建 Notes 应用程序界面 - 您可以从中大致了解它是如何完成的。基本上所做的是添加自定义 View ,在 TextView 后面绘制背景并在 TextView 的委托(delegate)方法中调整它,并在其“contentSize”属性上使用 KVO。

关于iphone - 如何像Notes App一样设置UITextView内容inset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10931431/

相关文章:

iphone - 将基于标签栏的 iPhone 项目迁移到 iPad

ios - 连接 Realm 和 SwiftBond 的最佳方式是什么

ios - 用 boundingRectWithSize : 包装 UITextView

ios - 如何将 UITableViewCell 高度调整为内部 UITextView 的内容?

iphone - 从 MP3 文件/ID3 标签获取专辑插图

iphone - 持久化 UINavigationItem 的 rightBarButtonItem 属性

iphone - 为什么我无法通过 Interface Builder 将左栏按钮项添加到导航项?

ios - 将现有的核心数据镜像存储从可转换数据更改为二进制数据/允许外部存储

ios - Swift/iOS - 带有更多信息的 UIButton Sender

ios - 修改 NSParagraphStyle 中的行间距属性导致光标伸长