Skip to content
This repository has been archived by the owner on Sep 6, 2019. It is now read-only.

Commit

Permalink
修复 有初始文字时,占位符不隐藏以及字体设置异常的bug。
Browse files Browse the repository at this point in the history
移除 清除按钮功能。

作为发布版本,很遗憾我们暂时移除了清除按钮。

因为它在位置的设定上有重大的bug,然而修改起来又比较的麻烦。所以我们只得暂时移除了它。

未来我们会考虑换成xib实现该组件,到时我们会将会把清除按钮重新添加回来。
  • Loading branch information
rakuyoMo committed Sep 24, 2017
1 parent f3c7ac6 commit 885e26b
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 233 deletions.
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
### RKOTextView

<p align="left">
<a href=""><img src="https://img.shields.io/badge/pod-v1.0.3-brightgreen.svg"></a>
<a href=""><img src="https://img.shields.io/badge/pod-v1.0.4-brightgreen.svg"></a>
<a href=""><img src="https://img.shields.io/badge/ObjectiveC-compatible-orange.svg"></a>
<a href=""><img src="https://img.shields.io/badge/platform-iOS%207.0%2B-ff69b5152950834.svg"></a>
<a href="https://github.com/rakuyoMo/RKOTools/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg?style=flat"></a>
Expand All @@ -53,22 +53,21 @@
#### 集成:

```shell
pod 'RKOTextView', '~> 1.0.3'
pod 'RKOTextView', '~> 1.0.4'
```

#### 基本使用:

```objc
// 设置大小位置。
CGRect frame = CGRectMake(100, 300, 200, 200);
CGRect frame = CGRectMake(100, 300, 200, 200);

// 设置样式
RKOTextView *textViewWithCode = [RKOTextView textViewWithFrame:frame
placeholder:@"纯代码创建..."
font:[UIFont systemFontOfSize:18]
maxNumber:50
maxNumberOfLines:4
clearBtnMode:RKOTextFieldViewModeWhileEditing
needBorder:YES];
// 添加视图
[self.view addSubview:textViewWithCode];
Expand Down
31 changes: 6 additions & 25 deletions RKOTextViewManager/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# RKOTextView

<p align="center">
<a href=""><img src="https://img.shields.io/badge/pod-v1.0.3-brightgreen.svg"></a>
<a href=""><img src="https://img.shields.io/badge/pod-v1.0.4-brightgreen.svg"></a>
<a href=""><img src="https://img.shields.io/badge/ObjectiveC-compatible-orange.svg"></a>
<a href=""><img src="https://img.shields.io/badge/platform-iOS%207.0%2B-ff69b5152950834.svg"></a>
<a href="https://github.com/rakuyoMo/RKOTools/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg?style=flat"></a>
Expand All @@ -24,20 +24,21 @@
4. 可以监听输入。
5. 可以限制`TextView`显示的最大行数,在达到最大行数后滚动显示。
6. 可以设置限制最大输入长度,并可以在达到最大字数时设置提醒。
7. 在右侧提供一个清除按钮,可以设置显示时机,始终对于`TextView`垂直居中。
8. 设置文字颜色和背景色的方法和原生`UITextView`没有区别。
7. 设置文字颜色和背景色的方法和原生`UITextView`没有区别。

未来预计实现的功能如下:
1. 限制输入的范围。
1. 一个相对于`TextView`垂直居中的**清除按钮**
2. 限制输入的范围。

- 注意:
1.**确保您设置的宽度足够显示占位文字**,若宽度不足以显示占位文字,占位文字的显示效果会出现问题。
2. 组件**暂时不支持自定义高度**(位置以及宽度不受限制),初始高度为默认单行的高度。如果您需要自定义组件的高度,那么建议您不要设置组件的边框,并将组件添加到一个自定义宽高的 `View` 上,来达到您的效果。
3. 很遗憾我们在`1.0.4`版本中,暂时**移除了清除按钮**。在位置的设定上出了点问题,所以只能暂时先移除了。未来考虑把组件**换成**`xib`**实现**,到时候会再把清除按钮添加回来的。

## 集成

```shell
pod 'RKOTextView', '~> 1.0.3'
pod 'RKOTextView', '~> 1.0.4'
```

## 基本使用
Expand All @@ -52,7 +53,6 @@ RKOTextView *textViewWithCode = [RKOTextView textViewWithFrame:frame
font:[UIFont systemFontOfSize:18]
maxNumber:50
maxNumberOfLines:4
clearBtnMode:RKOTextFieldViewModeWhileEditing
needBorder:YES];
// 添加视图
[self.view addSubview:textViewWithCode];
Expand All @@ -72,7 +72,6 @@ RKOTextView *textViewWithCode = [RKOTextView textViewWithFrame:frame
* @param font 字体(传nil则为系统默认字体)
* @param maxNumber 最大的限制字数
* @param maxNumberOfLines 最大的限制行数
* @param clearBtnMode 清除按钮的样式
* @param needBorder 是否显示默认边框
* @return RKOTextView
*/
Expand All @@ -81,7 +80,6 @@ RKOTextView *textViewWithCode = [RKOTextView textViewWithFrame:frame
font:(nullable UIFont *)font
maxNumber:(NSInteger)maxNumber
maxNumberOfLines:(NSInteger)maxNumberOfLines
clearBtnMode:(RKOTextFieldViewMode)clearBtnMode
needBorder:(BOOL)needBorder;
```

Expand All @@ -92,13 +90,8 @@ RKOTextView *textViewWithCode = [RKOTextView textViewWithFrame:frame
```objc
/**
* 使用IBInspectable关键字,方便您在Storyboard中使用该控件时,设置属性。
*
* 若您需要设置清除按钮,那么需要在代码中单独设置clearBtnMode属性。
*/

/** 清除按钮的显示时机 */
@property (nonatomic) RKOTextFieldViewMode clearBtnMode;

/** 是否显示默认的边框 */
@property (nonatomic, assign) IBInspectable BOOL needBorder;

Expand All @@ -114,18 +107,6 @@ RKOTextView *textViewWithCode = [RKOTextView textViewWithFrame:frame
@property (nonatomic, assign) IBInspectable NSInteger maxNumber;
```

其中,清除按钮的**显示时机**参照`UITextField`设计:

```objc
/** 定义ClearButton显示的时机 */
typedef NS_ENUM(NSInteger, RKOTextFieldViewMode) {
RKOTextFieldViewModeNever = 0,
RKOTextFieldViewModeWhileEditing,
RKOTextFieldViewModeUnlessEditing,
RKOTextFieldViewModeAlways
};
```
如果您需要**监听输入**,或者**在达到字数限制的时候提醒用户**,那您可以根据需要实现`RKOTextViewDelegate`协议中的**可选**方法。

```objc
Expand Down
4 changes: 2 additions & 2 deletions RKOTextViewManager/RKOTextView.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
Pod::Spec.new do |s|

s.name = "RKOTextView"
s.version = "1.0.3"
s.version = "1.0.4"
s.summary = "A UITextView package"
s.description = <<-DESC
A UITextView package
Expand All @@ -23,7 +23,7 @@ Pod::Spec.new do |s|

s.ios.deployment_target = "7.0"

s.source = { :git => "https://github.com/rakuyoMo/RKOControls.git", :tag => "1.0.3" } # #{s.version}
s.source = { :git => "https://github.com/rakuyoMo/RKOControls.git", :tag => "1.0.6" } # #{s.version}

s.requires_arc = true

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
AE41FC311F62486900959ED0 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0830;
LastUpgradeCheck = 0900;
ORGANIZATIONNAME = Rakuyo;
TargetAttributes = {
AE41FC381F62486900959ED0 = {
Expand Down Expand Up @@ -207,15 +207,21 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
Expand Down Expand Up @@ -255,15 +261,21 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ NS_ASSUME_NONNULL_BEGIN
* 4. 可以监听输入。
* 5. 可以限制TextView显示的最大行数,在达到最大行数后滚动显示。
* 6. 可以设置限制最大输入长度,并在达到最大字数时从顶部向下弹出提示窗,可设置提示文字、文字颜色及背景色。(默认和Navigation同高)
* 7. 在右侧提供一个清除按钮,可以设置显示时机,始终对于TextView垂直居中。
* 8. 设置文字颜色和背景色的方法和原生UITextView没有区别。
* 7. 设置文字颜色和背景色的方法和原生UITextView没有区别。
*
* 还未实现的功能:
* 1. 限制输入的范围
* 1. 一个相对于TextView垂直居中的清除按钮
* 2. 限制输入的范围
*
* 注意:
* 1. 请确保您设置的宽度足够显示占位文字,若宽度不足以显示占位文字,占位文字的显示效果会出现问题。
Expand All @@ -62,16 +62,6 @@ NS_ASSUME_NONNULL_BEGIN

@interface RKOTextView : UITextView

#pragma mark - 常量。
/** 定义ClearButton显示的时机 */
//typedef NS_ENUM(NSInteger, RKOTextFieldViewMode) {
// RKOTextFieldViewModeNever = 0, /** 从不显示 */
// RKOTextFieldViewModeWhileEditing, /** 当编辑的时候显示 */
// RKOTextFieldViewModeUnlessEditing, /** 编辑的时候不显示 */
// RKOTextFieldViewModeAlways /** 总是显示 */
//};


#pragma mark - 方法。

/**
Expand All @@ -82,7 +72,6 @@ NS_ASSUME_NONNULL_BEGIN
* @param font 字体(传nil则为系统默认字体)
* @param maxNumber 最大的限制字数
* @param maxNumberOfLines 最大的限制行数
* @param clearBtnMode 清除按钮的样式
* @param needBorder 是否显示默认边框
* @return RKOTextView
*/
Expand All @@ -92,14 +81,10 @@ NS_ASSUME_NONNULL_BEGIN
maxNumber:(NSInteger)maxNumber
maxNumberOfLines:(NSInteger)maxNumberOfLines
needBorder:(BOOL)needBorder;
// clearBtnMode:(RKOTextFieldViewMode)clearBtnMode


#pragma mark - 属性。
/**
* 使用IBInspectable关键字,方便您在Storyboard中使用该控件时,设置属性。
*
* 若您需要设置清除按钮,那么需要在代码中单独设置clearBtnMode属性。
*/

/** 是否显示默认的边框 */
Expand All @@ -116,15 +101,14 @@ NS_ASSUME_NONNULL_BEGIN
注意:该属性优先于最大行数,即在达到最大字数却没有达到最大行数的情况下,无法继续输入。 */
@property (nonatomic, assign) IBInspectable NSInteger maxNumber;

/** 清除按钮的显示时机 */
//@property (nonatomic) RKOTextFieldViewMode clearBtnMode;

/** 代理 */
@property (nonatomic, weak) id<RKOTextViewDelegate> textViewDelegate;






#pragma mark - 未完成的功能。

/** 警告:该属性目前尚未完全完成,不建议一般开发者使用。如果你有更好的想法,欢迎通过issus联系我。 */
Expand Down
Loading

0 comments on commit 885e26b

Please sign in to comment.