ZPCategory

ZPCategory

目錄


  1. 宏文件
  2. NSString
  3. NSDate
  4. NSTimer
  5. NSDictionary
  6. UITextField
  7. UITextView
  8. UIButton
  9. UIImage
  10. UIViewController

宏文件

這個(gè)文件中主要有以下幾個(gè)功能:

  1. 開發(fā)環(huán)境和正式環(huán)境的配置埃叭;
  2. 項(xiàng)目中集成的第三方的配置;
  3. RGB顏色;
  4. 弱引用self奈应;
  5. 屏幕寬&高碍现;
  6. 狀態(tài)欄&Tabbar&SafeArea的數(shù)值伤疙;
  7. 設(shè)備的判斷唬渗;

NSString

字符串寬度&&高度

1.根據(jù)字體&高度值依,獲取字符串的寬度(沒有行高)

- (float)widthWithFont:(UIFont *)font height:(float)height;

2.根據(jù)字體&寬度肯骇,獲取字符串的高度(沒有行高)

- (float)heightWithFont:(UIFont *)font width:(float)width;

3.根據(jù)字體&寬度&行高窥浪,獲取字符串改的高度祖很;

- (float)heightWithFont:(UIFont *)font width:(float)width lineSpacing:(float)lineSpacing;

4.根據(jù)字體&寬度&行高,獲取字符串的Size漾脂;

- (CGSize)sizeWithFont:(UIFont *)font width:(float)width lineSpacing:(float)lineSpacing;

字符串 正則表達(dá)式

1.判斷是不是手機(jī)號(hào)

- (BOOL)isValidateMobile;

2.判斷是不是固定電話

- (BOOL)isValidatePhone;

3.判斷是不是客服電話

- (BOOL)is400Phone;

4.判斷是不是身份證

- (BOOL)isIdCard;

數(shù)據(jù)類型額判斷

1.是否是正整數(shù)

- (BOOL)isPositiveInteger;

2.是否是浮點(diǎn)數(shù)

- (BOOL)isFloat;

3.檢查輸入字符串是否只由英文字母和數(shù)字組成

- (BOOL)isNumberOrLetter;

4.檢查輸入字符串是否只由漢字和英文字母組成

- (BOOL)isChineseOrLetter;

5.是否為空字符串

- (BOOL)isBlankString;

NSString->NSAttributedString

1.NSString->NSAttributedString 帶有行高屬性

- (NSAttributedString *)toAttributeStringWithLineSpacing:(float)lineSpacing;

字符串加密

1.MD5

- (NSString *)md5;

2.SHA1

- (NSString *)SHA1;

字符串過濾

1.去除兩端空格和回車

- (NSString *)trim;

2.僅去除兩端空格

- (NSString *)trimOnlyWhitespace;

3.去除html格式

+ (NSString *)filterHtml:(NSString *)html;

根據(jù)圖片名字返回圖片

1.根據(jù)圖片名字返回圖片

- (UIImage *)toImage;

NSDate

1.NSDate -> NSString

- (NSString *)formatString:(NSString *)dateFormat;

2.根據(jù)unix時(shí)間戳構(gòu)造NSDate

+ (NSDate *)dateWithUnixTime:(double)unixtime;

3.將時(shí)間轉(zhuǎn)化為0秒模式

+ (NSDate *)changeDateToZeroMinutDate:(NSDate *)date;

4.獲得指定月份的第一天和最后一天

+ (NSArray *)getFirstAndLastDayOfThisMonthWithNsDate:(NSDate *)date;

NSTimer

1.用block的方式穿件定時(shí)器

+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)timeInterval block:(void (^)(void))block repeat:(BOOL)repeat;

NSDictionary

數(shù)據(jù)類型的Get

1.設(shè)置一個(gè)BOOL值

- (BOOL)boolForKey:(NSString *)key;

2.設(shè)置一個(gè)NSInteger值

- (NSInteger)integerForKey:(NSString *)key;

3.設(shè)置一個(gè)int值

- (int)intForKey:(NSString *)key;

4.設(shè)置一個(gè)double值

- (double)doubleForKey:(NSString *)key;

5.設(shè)置一個(gè)float值

- (float)floatForKey:(NSString *)key;

6.設(shè)置一個(gè)long long值

- (long long)longLongForKey:(NSString *)key;

7.設(shè)置一個(gè)unsigned long long值

- (unsigned long long)unsignedLongLongForKey:(NSString *)key;

8.設(shè)置一個(gè)NSString值

- (NSString *)stringForKey:(NSString *)key;

9.設(shè)置一個(gè)NSArray值

- (NSArray *)arrayForKey:(NSString *)key;

10.value為空時(shí)假颇,不set此key

- (void)safeValue:(id)value forKey:(NSString *)key;

UITextField

最大長(zhǎng)度和只可以輸入數(shù)字的屬性添加

/**
 最大長(zhǎng)度
 */
@property (nonatomic, assign) NSInteger maxLength;

/**
 是否只可以輸入數(shù)字
 */
@property (nonatomic, assign) BOOL canOnlyInputNumber;

LeftView

1.設(shè)置leftview為圖片

/**
 *  設(shè)置leftview為圖片
 *
 *  @param imageName 圖片名稱
 */
- (void)setLeftViewWithImageName:(NSString *)imageName;

2.設(shè)置leftView為文字

/**
 *  設(shè)置leftView為文字
 *
 */
- (void)setLeftViewWithText:(NSString *)text;

3.設(shè)置leftView為文字

/**
 *  設(shè)置leftView為文字
 *
 *  @param text  文字
 *  @param minWidth 最小寬度
 */
- (void)setLeftViewWithText:(NSString *)text minWidth:(CGFloat)minWidth;

4.設(shè)置leftView為文字

/**
 *  設(shè)置leftView為文字
 *
 *  @param text  文字
 *  @param minWidth 最小寬度
 *  @param color 占位文字顏色
 */
- (void)setLeftViewWithText:(NSString *)text minWidth:(CGFloat)minWidth color:(UIColor *)color;

RightView

1.設(shè)置rightView為文字

/**
 *  設(shè)置rightView為文字
 *
 *  @param text 文字
 */
- (void)setRightViewWithText:(NSString *)text;

2.設(shè)置rightView為圖片

/**
 *  設(shè)置rightView為圖片
 *
 *  @param imageName 圖片名稱
 */
- (void)setRightViewWithImageName:(NSString *)imageName;

3.設(shè)置rightView為button

/**
 *  設(shè)置rightView為button
 *
 *  @param imageName 圖片名稱
 */
- (void)setRightViewButtonWithImageName:(NSString *)imageName taget:(id)taget selector:(SEL)selector;

Padding

1.設(shè)置UITextField左側(cè)內(nèi)邊距

/**
 *  設(shè)置UITextField左側(cè)內(nèi)邊距
 *
 *  @param padding 距離
 */
- (void)setPaddingLeftSpace:(float)padding;

2.設(shè)置UITextField右側(cè)內(nèi)邊距

/**
 *  設(shè)置UITextField右側(cè)內(nèi)邊距
 *
 *  @param padding 距離
 */
- (void)setPaddingRightSpace:(float)padding;

UI顯示

1.設(shè)置底部邊框

/**
 *  設(shè)置底部邊框
 *
 *  @param lineColor 邊框顏色
 */
- (void)setBottomBorderLineWithColor:(UIColor *)lineColor;

2.設(shè)置placeholder的顏色

/**
 *  設(shè)置placeholder的顏色
 *
 */
- (void)setPlaceholderColor:(UIColor *)color;

3.設(shè)置下劃線出去左邊的文字

/**
 *  設(shè)置下劃線出去左邊的文字
 */
- (void)setLeftViewWithText:(NSString *)text minWidth:(CGFloat)minWidth withOutTextBottomLineColor:(UIColor *)color;

UITextView

增加 placeHolder & placeHolderFont 屬性

@property (nonatomic, copy) NSString *placeHolder;

@property (nonatomic, strong) UIFont *placeHolderFont;

UButton

點(diǎn)擊方式換成block方式

/**
 *  UIButton+Block
 *
 *  @param controlEvent 觸摸事件
 *  @param action 執(zhí)行的方法
 */
- (void)handleControlEvent:(UIControlEvents)controlEvent withBlock:(ActionBlock)action;

UIImage

返回相片的主要顏色

/**
 返回相片的主要顏色

 @param image 圖片
 @return 返回的顏色色值
 */
+ (UIColor*)mostColor:(UIImage *)image;

UIViewController

NavigationBar

1.設(shè)置左側(cè)Navigationbar為“返回”(使用backBarButtonItem)

/**
 *  設(shè)置左側(cè)Navigationbar為“返回”(使用backBarButtonItem)
 */
- (void)setLeftNavigationBarToBack;

2.設(shè)置左側(cè)Navigationbar為“返回”(使用leftbarbutton)

/**
 *  設(shè)置左側(cè)Navigationbar為“返回”(使用leftbarbutton)
 *
 *  @param block 點(diǎn)擊時(shí)執(zhí)行的block代碼
 */
- (void)setLeftNavigationBarToBackWithBlock:(void (^)(void))block;

3.為左側(cè)后退Navigationbar增加確認(rèn)提示框

/**
 *  為左側(cè)后退Navigationbar增加確認(rèn)提示框
 */
- (void)setLeftNavigationBarToBackWithConfirmDialog;

4.設(shè)置NavigationBar(文字)

/**
 *  設(shè)置NavigationBar(文字)
 *
 *  @param position 位置
 *  @param text     文字
 *  @param block    點(diǎn)擊后執(zhí)行的代碼
 */
- (void)setNavigationBar:(NavigationBarPosition)position withText:(NSString *)text touched:(void (^)(void))block;

5.設(shè)置NavigationBar(圖片)

/**
 *  設(shè)置NavigationBar(圖片)
 *
 *  @param position  位置
 *  @param imageName 圖片名稱
 *  @param block     點(diǎn)擊后執(zhí)行的代碼
 */
- (void)setNavigationBar:(NavigationBarPosition)position withImageName:(NSString *)imageName touched:(void (^)(void))block;

6.設(shè)置NavigationBar(圖片)

/**
 *  設(shè)置NavigationBar(圖片)
 *
 *  @param position  位置
 *  @param imageName 圖片名稱
 *  @param block     點(diǎn)擊后執(zhí)行的代碼
 */
- (void)setNavigationBar:(NavigationBarPosition)position withImageName:(NSString *)imageName spacing:(NSInteger)spacing touched:(void (^)(void))block;

7.設(shè)置NavigationBar(文字)

/**
 *  設(shè)置NavigationBar(文字)
 *
 *  @param position 位置
 *  @param text     文字
 *  @param color    文字顏色
 *  @param block    點(diǎn)擊后執(zhí)行的代碼
 */
- (void)setNavigationBar:(NavigationBarPosition)position withText:(NSString *)text withColor:(UIColor *)color touched:(void (^)(void))block;

8.設(shè)置NavigationBar(文字)

/**
 *  設(shè)置NavigationBar(文字)
 *
 *  @param position 位置
 *  @param text     文字
 *  @param color    文字顏色
 *  @param font     字體
 *  @param block    點(diǎn)擊后執(zhí)行的代碼
 */
- (void)setNavigationBar:(NavigationBarPosition)position withText:(NSString *)text withColor:(UIColor *)color withFont:(UIFont *)font touched:(void (^)(void))block;

9.設(shè)置NavigationBar隱藏或顯示

/**
 *  設(shè)置NavigationBar隱藏或顯示
 *
 *  @param position 位置
 *  @param hidden   YES:隱藏 NO:顯示
 */
- (void)hiddenNavigationBar:(NavigationBarPosition)position hidden:(BOOL)hidden;

10.跳轉(zhuǎn)到指定的ViewController

/**
 *  跳轉(zhuǎn)到指定的ViewController
 *
 *  @param viewControllerClass 控制器類型
 */
- (void)popToViewController:(Class)viewControllerClass;

11.NavigationController里上一個(gè)ViewController

/**
 *  NavigationController里上一個(gè)ViewController
 *
 */
- (UIViewController *)previosViewController;

12.移除當(dāng)前NavigationController里ViewController的上一個(gè)ViewController

/**
 *  移除當(dāng)前NavigationController里ViewController的上一個(gè)ViewController
 */
- (void)removePreviosViewControllerInNavigationControllers;

13.添加多個(gè)按鈕時(shí)

/**
 *  添加多個(gè)按鈕時(shí)
 *
 *  @param position 位置
 *  @param array    buttonImageNameAndButtonTypeArray
 *  @param target   目標(biāo)
 *  @param selector 響應(yīng)方法
 */

- (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標(biāo)識(shí)符
 *
 *  @return ViewController實(shí)例
 */
+ (instancetype)viewControllerFromStoryBoard:(NSString *)storyBoardName withIdentifier:(NSString *)identifier;

傳送門

https://github.com/cAibDe/ZPCategory

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市骨稿,隨后出現(xiàn)的幾起案子笨鸡,更是在濱河造成了極大的恐慌,老刑警劉巖坦冠,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件形耗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡辙浑,警方通過查閱死者的電腦和手機(jī)激涤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來判呕,“玉大人昔期,你說我怎么就攤上這事》鹦” “怎么了硼一?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)梦抢。 經(jīng)常有香客問我般贼,道長(zhǎng),這世上最難降的妖魔是什么奥吩? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任哼蛆,我火速辦了婚禮,結(jié)果婚禮上霞赫,老公的妹妹穿的比我還像新娘腮介。我一直安慰自己,他們只是感情好端衰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布叠洗。 她就那樣靜靜地躺著,像睡著了一般旅东。 火紅的嫁衣襯著肌膚如雪灭抑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天抵代,我揣著相機(jī)與錄音腾节,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛案腺,可吹牛的內(nèi)容都是我干的庆冕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼劈榨,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼愧杯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鞋既,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤力九,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后邑闺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體跌前,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年陡舅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抵乓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡靶衍,死狀恐怖灾炭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情颅眶,我是刑警寧澤蜈出,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站涛酗,受9級(jí)特大地震影響铡原,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜商叹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一燕刻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧剖笙,春花似錦卵洗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至酪夷,卻和暖如春榴啸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背晚岭。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勋功,地道東北人函筋。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓砖织,卻偏偏與公主長(zhǎng)得像他匪,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子潜的,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容