PHFComposeBarView 2.1.0

PHFComposeBarView 2.1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2017年2月

Philipe Fatio维护。




  • Philipe Fatio

demo

更多截图:无文字有文字


这是对 iOS Messages.app 中的编辑栏的精确重构,模仿了行为和图形,同时允许您定制它的大部分功能。

它基本上由一个文本视图、一个占位符标签、位于文本视图左侧的一个工具按钮和一个位于文本视图右侧的主要按钮组成。

如果您在寻找适用于 iOS 5 和 6 且具有旧外观和感觉的东西,请查看 版本 1.1.1

特性

  • 主按钮(右侧的按钮)的标题可以更改
  • 主按钮的着色颜色可以更改
  • 占位符的标题可以更改
  • 占位符被公开为一个属性,以便进一步定制
  • 文本视图被公开为一个属性,以便进一步定制
  • 通过设置工具按钮图像(最好使用灰度图像(约56%白色)在透明背景上,边长最长可达50pt)来显示工具按钮
  • 当指定最大字符数时,可选的字符计数器
  • 使用委托来通知按钮点击
  • 转发文本视图的委托方法
  • 自动增大以适应文本换行
  • 在更改前后发布通知并发送委托消息,以便您可以调整视图设置
  • 默认向上增大,也可向下增大
  • 可以通过点数或行数指定增长的最大高度
  • 有一个半透明的模糊背景

安装

首选方式是使用 CococaPods

pod 'PHFComposeBarView', '~> 2.0.1'

如果您出于某些原因无法使用 CocoaPods(您真的应该这么做,这是热门的),那么请从 Classes/ 中抓取文件,并将其放入您的项目中。代码使用 ARC,因此如果尚未使用 ARC,请务必将这些文件打开以启用 ARC。它依赖于 PHFDelegateChain,因此请确保将其添加到您的项目中。

使用

上面演示中可见的编辑栏创建如下

CGRect viewBounds = [[self view] bounds];
CGRect frame = CGRectMake(0.0f,
                          viewBounds.size.height - PHFComposeBarViewInitialHeight,
                          viewBounds.size.width,
                          PHFComposeBarViewInitialHeight);
PHFComposeBarView *composeBarView = [[PHFComposeBarView alloc] initWithFrame:frame];
[composeBarView setMaxCharCount:160];
[composeBarView setMaxLinesCount:5];
[composeBarView setPlaceholder:@"Type something..."];
[composeBarView setUtilityButtonImage:[UIImage imageNamed:@"Camera"]];
[composeBarView setDelegate:self];

要受通知按钮点击,实现 PHFComposeBarViewDelegate 协议的可选方法。

- (void)composeBarViewDidPressButton:(PHFComposeBarView *)composeBarView;
- (void)composeBarViewDidPressUtilityButton:(PHFComposeBarView *)composeBarView;

要接收帧变化的通知,可以通过监听通知(PHFComposeBarViewDidChangeFrameNotificationPHFComposeBarViewWillChangeFrameNotification)或在可选的代理方法中实现。

- (void)composeBarView:(PHFComposeBarView *)composeBarView
   willChangeFromFrame:(CGRect)startFrame
               toFrame:(CGRect)endFrame
              duration:(NSTimeInterval)duration
        animationCurve:(UIViewAnimationCurve)animationCurve;
- (void)composeBarView:(PHFComposeBarView *)composeBarView
    didChangeFromFrame:(CGRect)startFrame
               toFrame:(CGRect)endFrame;

请注意,从 UITextViewDelegate 协议中继承的所有方法都会被转发,因此您可以添加自己的行为到文本视图中,例如限制文本长度等。

有关可用属性及其说明,请参阅 PHFComposeBarView.h

小字

许可

PHFComposeBarView 以 MIT 许可证发布。

依赖关系

作者

Philipe Fatio (@fphilipe)

赞助商

以下这些人和公司赞助了到目前为止的开发