PlaceholderUITextView
PlaceholderUITextView
是一个多行占位符的简单TextView子类
要求
- Xcode 10或更高版本
- iOS 10.0或更高版本
- Swift 4.2或更高版本
入门
CocoaPods
通过在Podfile
中添加以下内容使用CocoaPods进行安装
platform :ios, '10.0'
use_frameworks!
pod 'PlaceholderUITextView'
Carthage
Carthage是一个去中心化的依赖管理器,它可以构建您的依赖并提供二进制框架。
您可以使用以下命令通过Homebrew安装Carthage
$ brew update
$ brew install carthage
要使用Carthage将PlaceholderUITextView集成到您的Xcode项目中,在您的Cartfile
中指定它
github "hoangtaiki/PlaceholderUITextView" ~> 1.1
运行 carthage update
命令构建框架,并将构建好的 PlaceholderUITextView.framework
拖入您的 Xcode 项目中。
Swift 包管理器
使用 Swift 包管理器 安装,通过在您的 Package.swift
中添加以下内容
dependencies: [
.package(url: "https://github.com/hoangtaiki/PlaceholderUITextView", from: "1.1.0"),
],
子模块
或者使用 git submodule add [email protected]:hoangtaiki/PlaceholderUITextView.git
手动检出子模块,将 PlaceholderUITextView.xcodeproj 拖入您的项目中,并将 PlaceholderUITextView 添加为构建依赖项。
用法
您可以像使用 UITextField 一样设置 placeholder
属性的值。
界面构建器
- 将 UITextView 对象拖到画布上。
- 在标识检查器中,将自定义类名设置为
PlaceholderUITextView
。 - 在属性检查器中,您可以直接更改
placeholder
属性的值。
代码
let placeholderTextView = PlaceholderUITextView(frame: view.bounds)
placeholderTextView.placeholder = "What's on your mind?"
view.addSubview(placeholderTextView)
示例
要运行示例项目,首先克隆存储库,然后从示例目录运行 pod install
命令。
一些注释
如果您运行示例项目,您会发现UITextView与四个边缘(顶部、右侧、底部、左侧)之间有一些间隙。这不是PlaceholderUITextView的特性,而是UITextView的默认特性。它们是:textContainerInset
和 lineFragmentPadding
。
默认的UITextView有 textContainerInset = UIEdgeInsets(top: 8, left: 0, bottom: 8, right: 0)
和 lineFragmentPadding = 5
。因此,如果您运行示例项目,您会看到:UITextField总会因为这些两个默认值而稍微移动一下。为了避免这种情况,您有两个方法
- 将
textContainerInset 设置为 .zero
和lineFragmentPadding 设置为 0
- 更改UITextView与其父视图之间的约束。
作者
Hoangtaiki,[email protected]
贡献
我们很高兴您对Refreshable感兴趣,并且很乐意看到您将它带到哪里。如果您有建议或虫子的报告,请随意发送拉取请求或创建新问题。
谢谢,并请尽情享受驾驶之旅!