標籤:style blog http io os ar 使用 for sp
最近總結了下開發過程中常用的功能,發現有時候我在做重複性的勞動。於是決定把常用的功能抽出來,方便下次使用。
我的想法是:用最少的代碼來解決問題。於是寫了一些常用的工具類,名字就叫一行代碼系列吧。。。好像挺挫的。。
大致內容有:
1、一行搞定輸入框
2、一行搞定網路請求
3、一行搞定上下拉重新整理(會自動判斷是上拉還是下拉還是兩者並存)
4、一行搞定資料庫(最近還在寫,功能已經基本實現)
5、一行搞定圖片儲存
6、一行搞定定位
7、一行搞定網路狀況變化
8、一行搞定X(功能小集合)
一行搞定輸入框
輸入框經常見到,特別是註冊的時候需要填寫一大堆資訊,這時候就會有2個問題:輸入框被鍵盤遮擋,鍵盤如何消失。
當時考慮到一種情況是: 所有的輸入框都不是同級的,就是多個視圖嵌套,然后里面有N個輸入框,輸入框可能是UITextField,UITextView,UISearchBar。於是就按照這種情況寫了下,至於中間的Bug,大家可以提出修改。
因為個人的局限性太大了,還是希望大家Fork並修改,這樣其他人也可以用到你寫的工具,不要搞什麼技術壟斷之類的。
原理:從相對根視圖遍曆子視圖,如果子視圖是UITextField,UITextView,UISearBar,就把它的inputAccessoryView設定為全域的toolBar,同時記下它的相對座標,以此類推。
使用:使用只要一行代碼,它會自動判斷座標,同時你可以修飾鍵盤的消失方式:點擊視圖消失,還是點擊鍵盤外的某處消失,還是點擊完成消失。
- (void)viewDidLoad { [super viewDidLoad]; [inputHelper setupInputHelperForView:self.view withDismissType:InputHelperDismissTypeTapGusture]; }
#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>typedef NS_ENUM(NSInteger, InputHelperDismissType) { InputHelperDismissTypeNone = 0, InputHelperDismissTypeCleanMaskView, InputHelperDismissTypeTapGusture};@interface InputHelper : NSObject+ (InputHelper *)sharedInputHelper;- (void)dismissInputHelper;- (void)setupInputHelperForView:(UIView *)view withDismissType:(InputHelperDismissType)dismissType;@end#define inputHelper [InputHelper sharedInputHelper]
支援類型:
支援UITextField,UITextView,UISearBar 3種類型。常見的就可以啦。。
源碼:
點擊這裡 或者 點我
iOS開發一行代碼系列:一行搞定輸入框