MBAutoGrowingTextView 0.1.0

MBAutoGrowingTextView 0.1.0

测试已测试
语言语言 Obj-CObjective C
许可协议 MIT
发布最后发布2019年10月

Matej Balantič维护。




MBAutoGrowingTextView

这是一个基于自动布局的轻量级 UITextView 子类,它根据用户输入的大小自动增长和收缩,并且可以由最大和最小高度限制 - 所有这些都无需一行代码。

主要是用于 Interface builder 中,并且只与 Auto Layout 一起使用。

快速背景

自动布局是设计现代 iOS 应用的界面的一种很好的方式。然而,某些功能有时无法直接实现。其中一个例子是自动增长/收缩 UITextView。这个视图的问题在于它默认是一个可滚动的视图,这意味着它的固有大小不会根据内容变化。一种解决方案是简单地使其不可滚动,但这会阻止用户在元素达到最大高度时上下滚动。因此,MBAutoGrowingTextView 应运而生,以解决此问题。

功能

  • 适用于 iOS 7,充分利用 Interface builder 和 Auto layout。
  • UITextView 的高度将根据用户输入的文本数量自动增长或收缩
  • 可以从 Interface builder 中定义 UITextView 的最大和最小高度
  • 当达到最大高度时,UITextView 内容变为可滚动
  • 无需任何代码即可实现完整功能

Animated demo

安装

应通过Cocoa Pods进行安装。

如果您尚未安装CocoaPods,请先安装它

sudo gem install cocoapods
pod setup

切换到您的Xcode项目目录,并创建和编辑您的 Podfile,并列出以下行

pod 'MBAutoGrowingTextView', '~> 0.1.0'
pod install

使用.xcworkspace文件(而不是常规项目文件)在Xcode中打开您的项目

使用

如果您熟悉Auto Layout,使用方法将极其简单直观。此类通过在需要时更改“高度”约束来利用自动布局约束。它将检测任何“高度小于”或“高度大于”的约束,并确保在计算时予以考虑。

  1. 将UITextView添加到您的界面文件(Storyboard或Xib)并调整到所需大小。 步骤 1

  2. 将自定义类分配给它(点击UITextView,打开右侧实用工具面板,选择第三个标签(身份检查器),并将MBAutoGrowingTextView写入自定义类字段)。 步骤 2

  3. 在界面构建器中定义自动布局约束,就像您通常所做的那样。 步骤 3

  4. 为了限制 最大高度,再次添加高度常量(如同您刚才所做的)。选择新添加的常量并将关系字段更改为“小于等于”。 步骤 4

  5. 为了限制 最小高度,重复步骤4并选择关系字段中的“大于等于”