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

Commit 0ae161f

Browse files
committed
1.3.4 整理工具库,移除RKOControl控件,添加新的ImageWithColor工具类。
1 parent 8059672 commit 0ae161f

25 files changed

+124
-1279
lines changed

README.md

+54-230
Original file line numberDiff line numberDiff line change
@@ -1,251 +1,35 @@
11
# RKOTools
22

3-
自己平时写的一个小工具库,上传到GitHub中且支持CocoaPods,方便自己使用。不断更新完善中。
3+
自己平时写的一个小工具库,上传到**GitHub**中且支持`CocoaPods`,方便自己使用。不断更新完善中。
4+
5+
**注意:**`1.3.4`之前的版本集成了自己写的一些控件,从`1.3.4`版本开始,这些控件不再集成到`RKOTools`库中了,将会单独提供并支持`CocoaPods`。该页面则做目录之用,将会列出所有控件。
46

57
<p align="center">
6-
<a href=""><img src="https://img.shields.io/badge/pod-v1.3.3-brightgreen.svg"></a>
8+
<a href=""><img src="https://img.shields.io/badge/pod-v1.3.4-brightgreen.svg"></a>
79
<a href=""><img src="https://img.shields.io/badge/ObjectiveC-compatible-orange.svg"></a>
810
<a href=""><img src="https://img.shields.io/badge/platform-iOS%208.0%2B-ff69b5152950834.svg"></a>
911
<a href="https://github.com/rakuyoMo/RKOTools/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg?style=flat"></a>
1012
</p>
1113

1214
## 目录
1315

14-
1. [RKOControl](#rkocontrol)
15-
1. [RKONetworkAlert](#rkonetworkalert)
16-
2. [RKOCell](#rkocell)
17-
3. [RKOTextView](#rkotextview)
18-
4. [RKOTopAlert](#rkotopalert)
19-
5. [~~RKOTabBar~~](#rkotabbar)
20-
2. [RKOTools](#rkotools-1)
16+
17+
1. [RKOTools](#rkotools-1)
2118
1. [NetWorkTool](#networktool)
2219
2. [CloseKeyBoard](#closekeyboard)
2320
3. [CollecionLog](#collecionlog)
2421
4. [TopViewController](#topviewcontroller)
2522
5. [CALayer+Additions](#calayeradditions)
26-
6. [~~FastFrame~~](#fastframe)
23+
6. [ImageWithColor](#imagewithcolor)
24+
7. [~~FastFrame~~](#fastframe)
25+
2. [RKOControl](#rkocontrol)
26+
1. [RKONetworkAlert](#rkonetworkalert)
27+
2. [RKOCell](#rkocell)
28+
3. [RKOTextView](#rkotextview)
29+
4. [RKOTopAlert](#rkotopalert)
30+
5. [~~RKOTabBar~~](#rkotabbar)
2731
3. [BLOG](#blog)
2832

29-
## RKOControl
30-
31-
下面几个都是封装的一些**小控件**
32-
33-
---------------------------------------------------------------------
34-
35-
### RKONetworkAlert
36-
37-
无网络时提醒的一个`Alert`小控件。接口部分非常简单,提供7个**宏定义**,用以修改`Alert`的尺寸以及持续时间。
38-
39-
```objc
40-
// Alert尺寸对应的宏。
41-
42-
#define ALTERSTR @"无网络连接" // 显示的文字
43-
#define ALPHA 0.95 // 透明度
44-
#define ALERTW 150 // 宽度
45-
#define ALERTH 60 // 高度
46-
#define RADIUS 5 // 圆角
47-
#define DURATION 2 // 持续时间
48-
#define OVERTIME 0.5f // 过度时间
49-
```
50-
51-
仅需下面一个方法,便可弹出`Alert`弹窗:
52-
53-
```objc
54-
/**
55-
弹出提示弹窗。
56-
*/
57-
+ (void)popAlert;
58-
```
59-
60-
方法内部采用`UIButton`实现,并使用**单例模式**设计。
61-
62-
---------------------------------------------------------------------
63-
64-
### RKOCell
65-
66-
`xib`或者自定义`Cell`中快速获取`Cell`的一个小工具。接口如下所示:
67-
68-
```objc
69-
@interface RKOCell : UITableViewCell
70-
71-
/**
72-
快速获取 cell
73-
74-
@param tableView 当前的tableView
75-
@return 一个普通的cell
76-
*/
77-
+ (instancetype)cell:(UITableView *)tableView;
78-
79-
/**
80-
从xib中获取cell
81-
82-
@param tableView 当前的tableView
83-
@return 从xib中获取到的cell
84-
*/
85-
+ (instancetype)xibCell:(UITableView *)tableView;
86-
87-
/**
88-
获取一个空白的cell
89-
90-
@param tableView 当前的tableView
91-
@return 一个空白的cell
92-
*/
93-
+ (id)blankCell:(UITableView *)tableView;
94-
95-
@end
96-
```
97-
98-
---------------------------------------------------------------------
99-
100-
### RKOTextView
101-
102-
一个**近乎完美**的`UITextView`封装~~(肯定还有会有一些bug)~~
103-
104-
提供以下功能,几乎涵盖目前市面上的基本需求:
105-
1. 兼容`stroyboard/xib`以及纯代码。
106-
2. 根据内容自适应高度。
107-
3. 自定义占位符文字。
108-
4. 可以监听输入。
109-
5. 可以限制`TextView`显示的最大行数,在达到最大行数后滚动显示。
110-
6. 可以设置限制最大输入长度,并可以在达到最大字数时设置提醒。
111-
7. 在右侧提供一个清除按钮,可以设置显示时机,始终对于`TextView`垂直居中。
112-
8. 设置文字颜色和背景色的方法和原生`UITextView`没有区别。
113-
114-
未来预计实现的功能如下:
115-
1. 限制输入的范围。
116-
117-
#### 使用
118-
119-
**基本使用方法如下所示:**
120-
121-
```objc
122-
[self.textView textViewStyleWithplaceholder:@"请输入待办内容..." maxLimitNumber:40 maxNumberOfLines:3 clearBtnMode:RKOTextFieldViewModeWhileEditing];
123-
```
124-
125-
#### 接口
126-
127-
**提供如下几个便利的构造方法,以及样式设置方法**
128-
129-
```objc
130-
/**
131-
提供以下几个便捷方法,快速创建对象并设置其样式。
132-
133-
@param frame 视图大小及位置
134-
@param placeholder 占位符文字
135-
@param maxLimitNumber 最大的限制字数
136-
@param maxNumberOfLines 最大的限制行数
137-
@param clearBtnMode 清除按钮的样式
138-
@return RKOTextView
139-
*/
140-
+ (RKOTextView *)textViewWithFrame:(CGRect)frame placeholder:(NSString *)placeholder maxLimitNumber:(NSInteger)maxLimitNumber maxNumberOfLines:(NSInteger)maxNumberOfLines clearBtnMode:(RKOTextFieldViewMode)clearBtnMode;
141-
- (instancetype)initWithFrame:(CGRect)frame placeholder:(NSString *)placeholder maxLimitNumber:(NSInteger)maxLimitNumber;
142-
- (instancetype)initWithFrame:(CGRect)frame placeholder:(NSString *)placeholder maxLimitNumber:(NSInteger)maxLimitNumber clearBtnMode:(RKOTextFieldViewMode)clearBtnMode;
143-
144-
- (void)textViewStyleWithplaceholder:(NSString *)placeholder maxLimitNumber:(NSInteger)maxLimitNumber maxNumberOfLines:(NSInteger)maxNumberOfLines clearBtnMode:(RKOTextFieldViewMode)clearBtnMode;
145-
```
146-
147-
如果您需要**监听输入**,或者**在达到字数限制的时候提醒用户**,那您可以根据需要实现`RKOTextViewDelegate`协议中的**可选**方法。
148-
149-
```objc
150-
@protocol RKOTextViewDelegate <NSObject>
151-
152-
@optional
153-
/**
154-
如果您需要监听输入,请实现该方法。
155-
*/
156-
- (void)textViewDidChange:(UITextView *)textView;
157-
158-
/**
159-
如果您需要当达到最大字数时弹出提示窗,请将弹出提示窗的代码写在该方法中
160-
*/
161-
- (void)textViewPopAlertWhenMaxNumber:(UITextView *)textView;
162-
163-
@end
164-
```
165-
166-
除此之外,我们还暴露一些属性,方便单独设置:
167-
168-
```objc
169-
/** 占位符文字。 */
170-
@property(nonatomic,copy) NSString *myPlaceholder;
171-
172-
/** 限定输入的字符数。
173-
174-
注意:该属性优先于最大行数,即在达到最大字数却没有达到最大行数的情况下,无法继续输入。 */
175-
@property (nonatomic, assign) NSInteger maxLimitNums;
176-
177-
/** TextView显示的最大行数。 */
178-
@property (nonatomic, assign) NSUInteger maxNumberOfLines;
179-
180-
/** 清除按钮的显示时机 */
181-
@property (nonatomic) RKOTextFieldViewMode clearBtnMode;
182-
```
183-
184-
清除按钮的**显示时机**参照`UITextField`设计:
185-
186-
```objc
187-
/** 定义ClearButton显示的时机 */
188-
typedef NS_ENUM(NSInteger, RKOTextFieldViewMode) {
189-
RKOTextFieldViewModeNever = 0,
190-
RKOTextFieldViewModeWhileEditing,
191-
RKOTextFieldViewModeUnlessEditing,
192-
RKOTextFieldViewModeAlways
193-
};
194-
```
195-
196-
---------------------------------------------------------------------
197-
198-
### RKOTopAlert
199-
200-
自定义一个顶端的`Alert`提示窗。弹出时从顶端向下移动。
201-
202-
可以设置**提示文字**、**文字颜色**、**背景颜色**。
203-
204-
**高度**为`Status` + `NavigationBar`的高度。(不论您的`ViewController`是否添加到`NavigationController`中)
205-
206-
注意:该控件有以下几点**未进行测试**:
207-
1. 编写时考虑到了自定义`NavigationBar`,但因为时间原因未进行测试。
208-
2. 自定义`NavigationBar`,但自定义`NavigationBar`隐藏时的效果。
209-
3. 原生`NavigationBar`隐藏时的情况。
210-
3. 隐藏`Status`时的效果。
211-
212-
如果在您的项目中用到了以上几点未测试的功能,请将您的结果告诉我,帮助我完善该控件。
213-
214-
#### 使用
215-
216-
在需要弹出该提示窗的地方调用下面的方法
217-
218-
```objc
219-
[RKOTopAlert popAlertViewWithText:@"已达最大字数限制" textColor:[UIColor colorWithRed:0.89 green:0.94 blue:0.95 alpha:1.00] ackgroundColor:[UIColor colorWithRed:0.88 green:0.25 blue:0.35 alpha:1.00] duration:2.5];
220-
```
221-
222-
#### 接口
223-
224-
该提示窗提供一个方法用于设置样式并弹出提示窗。
225-
226-
```objc
227-
/**
228-
设置提示窗的样式
229-
230-
@param text 提示窗显示文字,不能为nil。为空则设置无效。
231-
@param textColor 文字颜色
232-
@param backgroundColor 提示窗背景颜色
233-
@param duration 横幅持续显示的时间
234-
*/
235-
+ (void)popAlertViewWithText:(NSString *)text
236-
textColor:(UIColor *)textColor
237-
ackgroundColor:(UIColor *)backgroundColor
238-
duration:(CGFloat)duration;
239-
```
240-
241-
---------------------------------------------------------------------
242-
243-
### RKOTabBar
244-
245-
封装的一个`TabBar`,但是效果并是很好....想了想还是不放在这里了,几乎用不到,每次都要删除怪麻烦的。
246-
247-
---------------------------------------------------------------------
248-
24933
## RKOTools
25034

25135
这里是一些平时使用的一些**工具类**
@@ -472,12 +256,52 @@ UIKIT_EXTERN NSString * const baseURL;
472256

473257
---------------------------------------------------------------------
474258

259+
### ImageWithColor
260+
261+
`UIImage`的分类方法,可以根据某一颜色生成一张图片,方便设置`UIButton`的背景图。
262+
263+
使用时调用下面的方法,传入颜色即可。
264+
265+
```objc
266+
+ (UIImage *)imageWithColor:(UIColor *)color;
267+
```
268+
269+
---------------------------------------------------------------------
270+
475271
### FastFrame
476272

477273
**因其与**`Masonry`**冲突,故从库中删除**。如果您有需要,可查找`1.1.0`版本的历史记录,查看相关代码与记录在`README`文件中的API说明。
478274

479275
---------------------------------------------------------------------
480276

277+
## RKOControl
278+
279+
下面几个都是封装的一些**小控件**。具体介绍不再在该页面提供,请点击对应的**Github**页面查看。
280+
281+
---------------------------------------------------------------------
282+
283+
### RKONetworkAlert
284+
285+
---------------------------------------------------------------------
286+
287+
### RKOCell
288+
289+
---------------------------------------------------------------------
290+
291+
### RKOTextView
292+
293+
---------------------------------------------------------------------
294+
295+
### RKOTopAlert
296+
297+
---------------------------------------------------------------------
298+
299+
### RKOTabBar
300+
301+
封装的一个`TabBar`,但是效果并是很好....想了想还是不放在这里了,几乎用不到,每次都要删除怪麻烦的。
302+
303+
---------------------------------------------------------------------
304+
481305
## BLOG
482306

483307
本人课余时间利用`HEXO`在GitHub上搭建的博客。未来部分工具会有对应的blog文章对应。在这里也把blog的地址贴出来吧:<br><br>

0 commit comments

Comments
 (0)