標籤:style blog http io ar os 使用 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開發一行代碼系列:一行搞定輸入框