ZPCategory
目錄
- 巨集檔案
- NSString
- NSDate
- NSTimer
- NSDictionary
- UITextField
- UITextView
- UIButton
- UIImage
- UIViewController
巨集檔案
這個檔案中主要有以下幾個功能:
- 開發環境和正式環境的配置;
- 專案中整合的第三方的配置;
- RGB顏色;
- 弱引用self;
- 螢幕寬&高;
- 狀態列&Tabbar&SafeArea的數值;
- 裝置的判斷;
NSString
字串寬度&&高度
1.根據字型&高度,獲取字串的寬度(沒有行高)
- (float)widthWithFont:(UIFont *)font height:(float)height;
複製程式碼
2.根據字型&寬度,獲取字串的高度(沒有行高)
- (float)heightWithFont:(UIFont *)font width:(float)width;
複製程式碼
3.根據字型&寬度&行高,獲取字串改的高度;
- (float)heightWithFont:(UIFont *)font width:(float)width lineSpacing:(float)lineSpacing;
複製程式碼
4.根據字型&寬度&行高,獲取字串的Size;
- (CGSize)sizeWithFont:(UIFont *)font width:(float)width lineSpacing:(float)lineSpacing;
複製程式碼
字串 正規表示式
1.判斷是不是手機號
- (BOOL)isValidateMobile;
複製程式碼
2.判斷是不是固定電話
- (BOOL)isValidatePhone;
複製程式碼
3.判斷是不是客服電話
- (BOOL)is400Phone;
複製程式碼
4.判斷是不是身份證
- (BOOL)isIdCard;
複製程式碼
資料型別額判斷
1.是否是正整數
- (BOOL)isPositiveInteger;
複製程式碼
2.是否是浮點數
- (BOOL)isFloat;
複製程式碼
3.檢查輸入字串是否只由英文字母和數字組成
- (BOOL)isNumberOrLetter;
複製程式碼
4.檢查輸入字串是否只由漢字和英文字母組成
- (BOOL)isChineseOrLetter;
複製程式碼
5.是否為空字串
- (BOOL)isBlankString;
複製程式碼
NSString->NSAttributedString
1.NSString->NSAttributedString 帶有行高屬性
- (NSAttributedString *)toAttributeStringWithLineSpacing:(float)lineSpacing;
複製程式碼
NSString 計算位元組長度
/**
計算字串的位元組長度
* 中文 = 2
* 英文或者數字 = 1
* 表情 = 4
@return NSUInteger
*/
- (NSUInteger)charactorNumber;
/**
根據不同的編碼方式計算位元組長度
@param encoding 編碼方式
@return NSUInteger
*/
- (NSUInteger)charactorNumberWithEncoding:(NSStringEncoding)encoding;
/**
calulate the number of charactor.
1 Chinese(not including Chinese mark) = 2
1 other charactor = 1
@return NSUInteger
*/
- (NSUInteger)charactorNumberForChineseSpecial;
複製程式碼
這是我從github的一位仁兄哪裡收集到的LXKit 想要了解的可以點選進去詳細瞭解。
字串加密
1.MD5
- (NSString *)md5;
複製程式碼
2.SHA1
- (NSString *)SHA1;
複製程式碼
字串過濾
1.去除兩端空格和回車
- (NSString *)trim;
複製程式碼
2.僅去除兩端空格
- (NSString *)trimOnlyWhitespace;
複製程式碼
3.去除html格式
+ (NSString *)filterHtml:(NSString *)html;
複製程式碼
根據圖片名字返回圖片
1.根據圖片名字返回圖片
- (UIImage *)toImage;
複製程式碼
NSDate
1.NSDate -> NSString
- (NSString *)formatString:(NSString *)dateFormat;
複製程式碼
2.根據unix時間戳構造NSDate
+ (NSDate *)dateWithUnixTime:(double)unixtime;
複製程式碼
3.將時間轉化為0秒模式
+ (NSDate *)changeDateToZeroMinutDate:(NSDate *)date;
複製程式碼
4.獲得指定月份的第一天和最後一天
+ (NSArray *)getFirstAndLastDayOfThisMonthWithNsDate:(NSDate *)date;
複製程式碼
NSTimer
1.用block的方式穿件定時器
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)timeInterval block:(void (^)(void))block repeat:(BOOL)repeat;
複製程式碼
NSDictionary
資料型別的Get
1.設定一個BOOL值
- (BOOL)boolForKey:(NSString *)key;
複製程式碼
2.設定一個NSInteger值
- (NSInteger)integerForKey:(NSString *)key;
複製程式碼
3.設定一個int值
- (int)intForKey:(NSString *)key;
複製程式碼
4.設定一個double值
- (double)doubleForKey:(NSString *)key;
複製程式碼
5.設定一個float值
- (float)floatForKey:(NSString *)key;
複製程式碼
6.設定一個long long值
- (long long)longLongForKey:(NSString *)key;
複製程式碼
7.設定一個unsigned long long值
- (unsigned long long)unsignedLongLongForKey:(NSString *)key;
複製程式碼
8.設定一個NSString值
- (NSString *)stringForKey:(NSString *)key;
複製程式碼
9.設定一個NSArray值
- (NSArray *)arrayForKey:(NSString *)key;
複製程式碼
10.value為空時,不set此key
- (void)safeValue:(id)value forKey:(NSString *)key;
複製程式碼
UITextField
最大長度和只可以輸入數字的屬性新增
/**
最大長度
*/
@property (nonatomic, assign) NSInteger maxLength;
/**
是否只可以輸入數字
*/
@property (nonatomic, assign) BOOL canOnlyInputNumber;
複製程式碼
LeftView
1.設定leftview為圖片
/**
* 設定leftview為圖片
*
* @param imageName 圖片名稱
*/
- (void)setLeftViewWithImageName:(NSString *)imageName;
複製程式碼
2.設定leftView為文字
/**
* 設定leftView為文字
*
*/
- (void)setLeftViewWithText:(NSString *)text;
複製程式碼
3.設定leftView為文字
/**
* 設定leftView為文字
*
* @param text 文字
* @param minWidth 最小寬度
*/
- (void)setLeftViewWithText:(NSString *)text minWidth:(CGFloat)minWidth;
複製程式碼
4.設定leftView為文字
/**
* 設定leftView為文字
*
* @param text 文字
* @param minWidth 最小寬度
* @param color 佔位文字顏色
*/
- (void)setLeftViewWithText:(NSString *)text minWidth:(CGFloat)minWidth color:(UIColor *)color;
複製程式碼
RightView
1.設定rightView為文字
/**
* 設定rightView為文字
*
* @param text 文字
*/
- (void)setRightViewWithText:(NSString *)text;
複製程式碼
2.設定rightView為圖片
/**
* 設定rightView為圖片
*
* @param imageName 圖片名稱
*/
- (void)setRightViewWithImageName:(NSString *)imageName;
複製程式碼
3.設定rightView為button
/**
* 設定rightView為button
*
* @param imageName 圖片名稱
*/
- (void)setRightViewButtonWithImageName:(NSString *)imageName taget:(id)taget selector:(SEL)selector;
複製程式碼
Padding
1.設定UITextField左側內邊距
/**
* 設定UITextField左側內邊距
*
* @param padding 距離
*/
- (void)setPaddingLeftSpace:(float)padding;
複製程式碼
2.設定UITextField右側內邊距
/**
* 設定UITextField右側內邊距
*
* @param padding 距離
*/
- (void)setPaddingRightSpace:(float)padding;
複製程式碼
UI顯示
1.設定底部邊框
/**
* 設定底部邊框
*
* @param lineColor 邊框顏色
*/
- (void)setBottomBorderLineWithColor:(UIColor *)lineColor;
複製程式碼
2.設定placeholder的顏色
/**
* 設定placeholder的顏色
*
*/
- (void)setPlaceholderColor:(UIColor *)color;
複製程式碼
3.設定下劃線出去左邊的文字
/**
* 設定下劃線出去左邊的文字
*/
- (void)setLeftViewWithText:(NSString *)text minWidth:(CGFloat)minWidth withOutTextBottomLineColor:(UIColor *)color;
複製程式碼
UITextView
增加 placeHolder & placeHolderFont 屬性
@property (nonatomic, copy) NSString *placeHolder;
@property (nonatomic, strong) UIFont *placeHolderFont;
複製程式碼
UButton
點選方式換成block方式
/**
* UIButton+Block
*
* @param controlEvent 觸控事件
* @param action 執行的方法
*/
- (void)handleControlEvent:(UIControlEvents)controlEvent withBlock:(ActionBlock)action;
複製程式碼
UIImage
返回相片的主要顏色
/**
返回相片的主要顏色
@param image 圖片
@return 返回的顏色色值
*/
+ (UIColor*)mostColor:(UIImage *)image;
複製程式碼
UIViewController
NavigationBar
1.設定左側Navigationbar為“返回”(使用backBarButtonItem)
/**
* 設定左側Navigationbar為“返回”(使用backBarButtonItem)
*/
- (void)setLeftNavigationBarToBack;
複製程式碼
2.設定左側Navigationbar為“返回”(使用leftbarbutton)
/**
* 設定左側Navigationbar為“返回”(使用leftbarbutton)
*
* @param block 點選時執行的block程式碼
*/
- (void)setLeftNavigationBarToBackWithBlock:(void (^)(void))block;
複製程式碼
3.為左側後退Navigationbar增加確認提示框
/**
* 為左側後退Navigationbar增加確認提示框
*/
- (void)setLeftNavigationBarToBackWithConfirmDialog;
複製程式碼
4.設定NavigationBar(文字)
/**
* 設定NavigationBar(文字)
*
* @param position 位置
* @param text 文字
* @param block 點選後執行的程式碼
*/
- (void)setNavigationBar:(NavigationBarPosition)position withText:(NSString *)text touched:(void (^)(void))block;
複製程式碼
5.設定NavigationBar(圖片)
/**
* 設定NavigationBar(圖片)
*
* @param position 位置
* @param imageName 圖片名稱
* @param block 點選後執行的程式碼
*/
- (void)setNavigationBar:(NavigationBarPosition)position withImageName:(NSString *)imageName touched:(void (^)(void))block;
複製程式碼
6.設定NavigationBar(圖片)
/**
* 設定NavigationBar(圖片)
*
* @param position 位置
* @param imageName 圖片名稱
* @param block 點選後執行的程式碼
*/
- (void)setNavigationBar:(NavigationBarPosition)position withImageName:(NSString *)imageName spacing:(NSInteger)spacing touched:(void (^)(void))block;
複製程式碼
7.設定NavigationBar(文字)
/**
* 設定NavigationBar(文字)
*
* @param position 位置
* @param text 文字
* @param color 文字顏色
* @param block 點選後執行的程式碼
*/
- (void)setNavigationBar:(NavigationBarPosition)position withText:(NSString *)text withColor:(UIColor *)color touched:(void (^)(void))block;
複製程式碼
8.設定NavigationBar(文字)
/**
* 設定NavigationBar(文字)
*
* @param position 位置
* @param text 文字
* @param color 文字顏色
* @param font 字型
* @param block 點選後執行的程式碼
*/
- (void)setNavigationBar:(NavigationBarPosition)position withText:(NSString *)text withColor:(UIColor *)color withFont:(UIFont *)font touched:(void (^)(void))block;
複製程式碼
9.設定NavigationBar隱藏或顯示
/**
* 設定NavigationBar隱藏或顯示
*
* @param position 位置
* @param hidden YES:隱藏 NO:顯示
*/
- (void)hiddenNavigationBar:(NavigationBarPosition)position hidden:(BOOL)hidden;
複製程式碼
10.跳轉到指定的ViewController
/**
* 跳轉到指定的ViewController
*
* @param viewControllerClass 控制器型別
*/
- (void)popToViewController:(Class)viewControllerClass;
複製程式碼
11.NavigationController裡上一個ViewController
/**
* NavigationController裡上一個ViewController
*
*/
- (UIViewController *)previosViewController;
複製程式碼
12.移除當前NavigationController裡ViewController的上一個ViewController
/**
* 移除當前NavigationController裡ViewController的上一個ViewController
*/
- (void)removePreviosViewControllerInNavigationControllers;
複製程式碼
13.新增多個按鈕時
/**
* 新增多個按鈕時
*
* @param position 位置
* @param array buttonImageNameAndButtonTypeArray
* @param target 目標
* @param selector 響應方法
*/
- (void)setNavigationBar:(NavigationBarPosition)position withImageNameAndButtonTypeArray:(NSArray *)array target:(id)target selectors:(SEL)selector;
複製程式碼
14.移除navigationbutton
/**
* 移除navigationbutton
*
* @param position 位置
*/
- (void)removeNavigationBarBar:(NavigationBarPosition)position;
複製程式碼
StoryBoard
1.從storyboard中初始化ViewController
/**
* 從storyboard中初始化ViewController
*
* @param storyBoardName storyboard名稱
* @param identifier ViewController識別符號
*
* @return ViewController例項
*/
+ (instancetype)viewControllerFromStoryBoard:(NSString *)storyBoardName withIdentifier:(NSString *)identifier;
複製程式碼