{"id":20073311,"url":"https://github.com/1691665955/mzextension","last_synced_at":"2025-10-14T21:36:23.457Z","repository":{"id":62447375,"uuid":"164196600","full_name":"1691665955/MZExtension","owner":"1691665955","description":"A extension for OC","archived":false,"fork":false,"pushed_at":"2021-09-17T01:51:48.000Z","size":108,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-14T21:36:22.622Z","etag":null,"topics":["category","component","extension","framework","ios","objective-c"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/1691665955.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-05T08:30:32.000Z","updated_at":"2023-08-07T01:33:51.000Z","dependencies_parsed_at":"2022-11-01T23:05:39.226Z","dependency_job_id":null,"html_url":"https://github.com/1691665955/MZExtension","commit_stats":null,"previous_names":[],"tags_count":60,"template":false,"template_full_name":null,"purl":"pkg:github/1691665955/MZExtension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1691665955%2FMZExtension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1691665955%2FMZExtension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1691665955%2FMZExtension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1691665955%2FMZExtension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1691665955","download_url":"https://codeload.github.com/1691665955/MZExtension/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1691665955%2FMZExtension/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279021375,"owners_count":26087023,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["category","component","extension","framework","ios","objective-c"],"created_at":"2024-11-13T14:44:49.708Z","updated_at":"2025-10-14T21:36:23.443Z","avatar_url":"https://github.com/1691665955.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MZExtension\nA extension for OC\n\n##\n自定义控件（Extends）\n\n###\n1、MZBannerView（广告轮播）\n\n###\n2、MZCircleProgress（圆形倒计时）\n\n###\n3、MZMarqueeLabel（滚动字符串）\n\n###\n4、MZMobileField（手机号码344格式）\n\n###\n5、MZTableView（横向tableView）\n\n###\n6、MZTextField（textField字符串长度限制）\n\n###\n7、MZTextView（textView字符串长度限制和placeholder设置）\n\n###\n8、MZWaveView（双波浪试图）\n\n###\n9、MZImageBrowsing（图片浏览器）\n\n###\n10、MZAlertController（半透明控制器，类似UIAlertController功能）\n\n###\n11、MZDrawBoardView（CAShapeLayer实现画板功能,可在画板上写字绘画）\n\n###\n12、MZLongTapButton（长按按钮）\n\n##\n自定义类别\n\n###\n1、NSDictionary+MZTool\n\n1. 从字典中取出一个字典\n-  -(NSDictionary *)dictionaryForKey:(NSString *)key;\n2. 从字典中取出一个数组\n-  -(NSArray *)arrayForKey:(NSString *)key;\n3. 从字典中取出一个字符串\n-  -(NSString *)stringForKey:(NSString *)key;\n4. 从字典中取出一个布尔值\n-  -(BOOL)boolForKey:(NSString *)key;\n5. 从字典中取出一个整型数字\n-  -(NSInteger)intForKey:(NSString *)key;\n6. 从字典中取出一个双精度型数字\n-  -(double)doubleForKey:(NSString *)key;\n\n2、UIImage+MZTool\n\n1. 根据颜色生成图片\n- +(UIImage *)getImageWithColor:(UIColor *)color;\n2. 根据字符串和二维码图片大小来生成二维码图片\n- +(UIImage *)createBarCodeImageWithString:(NSString *)string size:(CGFloat)size;\n3. 根据颜色的渐变色获取图片\n- +(UIImage *)createImageWithFrame:(CGRect)frame startColor:(UIColor *)startColor endColor:(UIColor *)endColor startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint;\n4. base64字符串转图片\n- +(UIImage *)stringToImage:(NSString *)base64String;\n5. 图片转base64字符串\n- -(NSString *)imageToBase64String;\n6. 截取view成图片\n- +(UIImage *)clipsImage:(UIView *)view;\n7. 对图片进行剪切，获取指定范围的图片\n- +(UIImage *)clipsImage:(UIImage *)image frame:(CGRect)frame;\n8. 新生成指定大小图片\n- +(UIImage *)resizeImage:(UIImage *)image toSize:(CGSize)size;\n9. 生成圆形图片\n- +(UIImage *)cutCircleImage:(UIImage *)image;\n10. 生成部分圆角图片\n- +(UIImage *)cutPartCircleImage:(UIImage *)image corners:(UIRectCorner)corners radii:(CGSize)radii;\n11. 处理图片旋转问题\n- +(UIImage *)fixOrientation:(UIImage *)aImage;\n\n3、UIView+MZTool\n\n1. 设置试图背景颜色的渐变色\n- -(void)setupGradientColorWithStartColor:(UIColor *)startColor endColor:(UIColor *)endColor startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint;\n2. 给view添加点击事件\n- -(void)addTapGestureRecognizerWithTarget:(id)target selector:(SEL)selector;\n3. 根据一个VC上的view得到该VC\n- -(UIViewController *)getVC;\n4. 设置试图圆角\n- -(void)setRadius:(CGFloat)radius;\n5. 设置部分圆角\n- -(void)setRoundedCorners:(UIRectCorner)corners radii:(CGSize)radii;\n\n4、NSObject+MZTool\n\n1. 获取当前显示的ViewController\n- +(UIViewController *)currentViewController;\n2. 获取屏幕窗口\n- +(UIView *)getWindowView;\n3. 获取手机当前连接的SSID（iOS12后要开启capabilities中的Access WiFi Information）\n- +(NSString *)SSID;\n4. 获取app版本号\n- +(NSString *)getAppVersion;\n5. 获取app Build\n- +(NSString *)getAppBuild;\n6. 获取app名称\n- +(NSString *)getAppName;\n7. 获取app BundleID\n- +(NSString *)getAppBundleIdentifier;\n8. 获取app Icon\n- +(UIImage *)getAppIcon;\n\n5、NSString+MZTool\n\n1. 字符串MD5加密\n- -(NSString *)MD5;\n2. 普通字符串转换成十六进制字符串\n- +(NSString *)hexStringFromString:(NSString *)string;\n3. 十六进制字符串转换成普通字符串\n- +(NSString *)stringFromHexString:(NSString *)hexString;\n4. data转16进制字符串\n- +(NSString *)dataToHexString:(NSData *)data;\n5. 转为本地大端模式 返回Unsigned类型的数据\n- +(unsigned short)unsignedDataTointWithData:(NSData *)data Location:(NSInteger)location Offset:(NSInteger)offset;\n\n6、UIViewController+MZAlert\n\n1. 系统提示框（确认按钮在左，取消按钮在右）\n- -(void)showAlertWithTitle:(NSString *)title message:(NSString *)message confirmTitle:(NSString *)confirmTitle cancelTitle:(NSString *)cancelTitle confirm:(void(^)(void))confirm cancel:(void(^)(void))cancel;\n2. 系统提示款（确认按钮在右，取消按钮在左）\n- -(void)showAlertWithTitle:(NSString *)title message:(NSString *)message cancelTitle:(NSString *)cancelTitle confirmTitle:(NSString *)confirmTitle confirm:(void(^)(void))confirm cancel:(void(^)(void))cancel;\n3. 系统提示款（只有一个按钮）\n- -(void)showAlertWithTitle:(NSString *)title message:(NSString *)message confirmTitle:(NSString *)confirmTitle confirm:(void (^)(void))confirm;\n4. 系统提示框（自定义标题和内容）\n- -(void)showAlertWithAttributedTitle:(NSAttributedString *)attributedTitle attributedMessage:(NSAttributedString *)attributedMessage confirmTitle:(NSString *)confirmTitle confirmStyle:(UIAlertActionStyle)confirmStyle cancelTitle:(NSString *)cancelTitle cancelStyle:(UIAlertActionStyle)cancelStyle confirm:(void(^)(void))confirm cancel:(void(^)(void))cancel;\n5. 系统提示框（自定义标题和内容以及按钮标题颜色）\n- -(void)showAlertWithAttributedTitle:(NSAttributedString *)attributedTitle attributedMessage:(NSAttributedString *)attributedMessage confirmTitle:(NSString *)confirmTitle confirmColor:(UIColor *)confirmColor cancelTitle:(NSString *)cancelTitle cancelColor:(UIColor *)cancelColor confirm:(void(^)(void))confirm cancel:(void(^)(void))cancel;\n6. 系统操作框\n- -(void)showActionSheetWithTitle:(NSString *)title message:(NSString *)message actionTitles:(NSArray\u003cNSString *\u003e *)actionTitles cancelTitle:(NSString *)cancelTitle cancelColor:(UIColor *)cancelColor callback:(void(^)(NSString *actionTitle))callback;\n7. 系统操作框（自定义标题和内容以及按钮标题颜色）\n- -(void)showActionSheetWithAttributedTitle:(NSAttributedString *)attributedTitle attributedMessage:(NSAttributedString *)attributedMessage actionTitles:(NSArray\u003cNSString *\u003e *)actionTitles actionColors:(NSArray\u003cUIColor *\u003e *)actionColors cancelTitle:(NSString *)cancelTitle cancelColor:(UIColor *)cancelColor callback:(void(^)(NSString *actionTitle))callback;\n\n7、NSObject+MZDate\n\n1. 时间转字符串\n- +(NSString *)dateToStringWithDate:(NSDate *)date dateFormat:(NSString *)dateFormat;\n2. 字符串转时间\n- +(NSDate *)stringToDateWithString:(NSString *)string dateFormat:(NSString *)dateFormat;\n3. 间戳转字符串\n- +(NSString *)timeIntervalToStringWithTimeInterval:(NSTimeInterval)timeInterval dateFormat:(NSString *)dateFormat;\n4. 字符串转时间戳\n- +(NSTimeInterval)stringToTimeIntervalWithString:(NSString *)string dateFormat:(NSString *)dateFormat;\n5. 时间戳转特殊字符串（如果是今明两天,会将月日转换成“今天”或“明天”）\n- +(NSString *)specialTimeIntervalToStringWithTimeInterval:(NSTimeInterval)timeInterval dateFormat:(NSString *)dateFormat;\n6. 获取当前时间戳\n- +(NSTimeInterval)getNowTimeInterval;\n\n8、UIButton+MZTouch\n\n1. 通过eventTimeInterval来设置UIButton点击间隔\n\n9、NSArray+MZTool\n\n1. 获取数组中的最大值数组\n- -(void)caculateMaxArray:(void(^)(NSArray *maxArray,NSInteger startIndex,NSInteger endIndex))callback;\n\n10、UIColor+MZTool\n\n1. 获取图片上某个点的颜色\n- +(UIColor *)colorAtPixel:(CGPoint)point withImage:(UIImage *)image;\n2. 根据16进制字符串获取颜色\n- +(UIColor *)colorWithHexString:(NSString *)hexString;\n\n11、UIView+MZFrame\n\n- @property (nonatomic, assign) CGFloat mz_x;\n- @property (nonatomic, assign) CGFloat mz_y;\n- @property (nonatomic, assign) CGFloat mz_width;\n- @property (nonatomic, assign) CGFloat mz_height;\n- @property (nonatomic, assign) CGFloat mz_centerX;\n- @property (nonatomic, assign) CGFloat mz_centerY;\n\n12、NSObject+MZAvoidCrash\n\n1. 统一处理找不到对应方法崩溃的问题\n2. 统一处理键值对编码找不到对应属性崩溃的问题\n\n13、NSArray+MZLog\n\n1. 统一处理数组打印的问题\n\n14、NSDictionary+MZLog\n\n1. 统一处理字典打印的问题\n\n15、NSArray+MZTool\n\n1. 获取数组中的最大值数组\n- - (void)caculateMaxArray:(void(^)(NSArray *maxArray,NSInteger startIndex,NSInteger endIndex))callback;\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1691665955%2Fmzextension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1691665955%2Fmzextension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1691665955%2Fmzextension/lists"}