iOS开发
xtayqria
宝剑锋从磨砺出,梅花香自苦寒来!
展开
-
iOS - 遥控面板的按钮绘制
不规则按钮的绘制,以及点击事件的添加。代码在这里原创 2021-06-01 11:44:02 · 262 阅读 · 0 评论 -
iOS - 给WKWebView添加头、尾视图
#import "ViewController.h"#import <WebKit/WebKit.h>@interface ViewController ()/// web@property (nonatomic, strong) WKWebView *webView;/// view@property (nonatomic, strong) UIView *bottomView;@end@implementation ViewController- (void).原创 2021-04-15 17:58:18 · 687 阅读 · 0 评论 -
iOS - 暗黑模式图片、颜色的适配
1、图片的适配以一张图片,图片名字为1为例拖进工程后,选中该图片,展开右侧边栏,把appearances属性展开,选中Any,Dark把对应图片拖进去,适配完成2、颜色的适配// MARK: - 颜色的适配,可以封装成工具类或者宏- (UIColor *)obtainCurrentBGColor { if (@available(iOS 13, *)) { UIColor *currentColor = [UIColor colorWithDyna原创 2021-03-20 15:53:43 · 553 阅读 · 0 评论 -
iOS - 循环滚动公告栏的实现
封装了一个继承于UIView的类,如下:#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interface XtayNoticeScrollView : UIView- (instancetype)initWithFrame:(CGRect)frame titleArray:(NSArray<NSString *> *)titleArray;- (void)openTimer; - (void)cl原创 2021-03-18 17:49:41 · 1591 阅读 · 0 评论 -
iOS - UTC日期和本地时间互转
// MARK: - 将本地时间转换为UTC时间- (NSString *)obtainUTCDateStringWithLocalDateString:(NSString *)localTimeString { NSDateFormatter *format = [[NSDateFormatter alloc] init]; format.dateFormat = @"yyyy-MM-dd HH:mm:ss"; format.timeZone = [NSTimeZone loc.原创 2021-03-16 16:15:07 · 1308 阅读 · 0 评论 -
iOS - 用代码批量改变文件夹中文件的名字
NSString *path = @"/Users/zhangjinjiang/Desktop/ios"; NSFileManager *fileManager = [NSFileManager defaultManager]; // 创建一个新的文件夹路径 [fileManager createDirectoryAtPath:@"/Users/zhangjinjiang/Desktop/ios111" attributes:nil]; if ([fileManager f.原创 2021-01-04 22:42:53 · 561 阅读 · 0 评论 -
iOS - iOS 12 之后的归档(NSKeyedArchiver)、解档(NSKeyedUnarchiver)用法
一、iOS 12之后旧的归档解档方法废弃了,更改为:归档:+ (nullable NSData *)archivedDataWithRootObject:(id)object requiringSecureCoding:(BOOL)requiresSecureCoding error:(NSError **)error解档:+ (nullable id)unarchivedObjectOfClasses:(NSSet<Class> *)classes fromData:(N.原创 2020-12-16 17:46:49 · 2550 阅读 · 0 评论 -
iOS - 检测是否被抓包
- (BOOL)checkProxySetting { NSDictionary *proxySettings = (__bridge NSDictionary *)(CFNetworkCopySystemProxySettings()); NSArray *proxies = (__bridge NSArray *)(CFNetworkCopyProxiesForURL((__bridge CFURLRef _Nonnull)([NSURL URLWithString:@"https:/.原创 2020-12-12 11:25:20 · 614 阅读 · 0 评论 -
MBProgressHUD的小封装
就是XtayMBHudView 这个类:#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interface XtayMBHudView : UIView/// 单例+ (instancetype)sharedSingleInstance;- (void)creatTextHudAlertViewWithSuperView:(UIView *)superView title:(NSString *)title detailT..原创 2020-09-15 14:50:46 · 273 阅读 · 0 评论 -
iOS - 通知监听键盘高度
#define SINGLE_NOTICE [NSNotificationCenter defaultCenter]#import "ViewController.h"@interface ViewController ()UITextFieldDelegate> { float _keyboardHeight; // 键盘高度原创 2017-02-27 15:14:06 · 340 阅读 · 0 评论 -
iOS - 关于 GCD 常用 API 总结
1. dispatch_apply2. dispatch_barrier_async原创 2018-07-14 22:09:57 · 423 阅读 · 0 评论 -
iOS - 多线程中 condition wait
使用NSCondition,实现多线程同步。。。举个列子 消费者跟生产者。。。现在传言8s要出了。。消费者想买8s。现在还没有8s。消费者等待8s生产。生产了一个产品,唤起消费者去买8s。解锁.。。一般在多线程编程中都会用到condition_wait,“条件变量与互斥量一起使用从可以允许线程以无竞争的方式等待特定的条件发生。为什么必须一起使用呢?1)假如当某个资源满足了一定的转载 2017-02-23 15:39:44 · 1035 阅读 · 0 评论 -
iOS - 优秀文章收集
好文章的收集。转载 2017-07-17 10:40:46 · 262 阅读 · 0 评论 -
iOS - UIView 类目关于 frame 的封装
类别属性的简单扩展原创 2017-06-14 17:56:15 · 452 阅读 · 0 评论 -
iOS - 截取屏幕图片的方法
截取手机屏幕图片、自定义分割图片原创 2017-06-26 10:28:17 · 571 阅读 · 0 评论 -
iOS - 获取设备型号方法
iOS 获取设备型号的方法原创 2017-06-12 17:53:24 · 316 阅读 · 0 评论 -
iOS - Xcode 项目上传到自己的GitHub上面
xcode 项目上传 GitHub 的详细步骤原创 2017-06-12 15:10:23 · 469 阅读 · 0 评论 -
iOS - 常用通用宏定义
#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width#define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height// iPhone 机型(尺寸大小)判断#define IPHONE_SE原创 2018-01-08 11:07:25 · 358 阅读 · 0 评论 -
iOS - 自定义代码块
https://img-blog.csdn.net/2018050814485955原创 2018-05-08 14:50:15 · 234 阅读 · 0 评论 -
iOS - 网址超链接
代码如下,直接跳转:- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSString *str1 = @"我是一只丑小鸭"; NSString *str2 = @"http://www...原创 2018-07-05 11:38:13 · 302 阅读 · 0 评论 -
iOS - Xcode 语言国际化步骤
步骤容易忘,在此记录仅供自己参考,可能会很乱。。。一 .工程名的配置1.在左侧栏目里面,右键 new file ,选择 iOS - Resource 下的 Strings File ,然后Next,在最上面Save As 里面写 InfoPlist ,然后点击Create,创建完成;2.选中刚刚创建好的 strings 文件 ,展开右侧栏目,找到 Localization 下的 Loc...原创 2016-11-29 09:41:35 · 485 阅读 · 0 评论 -
iOS - UIBezierPath 实现饼状图
首先看效果图:#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interface CircleView : UIView@property (nonatomic, copy) NSArray<NSNumber *> *valueArray;@endNS_ASSUME_NONNULL_END//...原创 2019-03-27 14:43:00 · 338 阅读 · 0 评论 -
iOS - 判断类的几种形式
1.创建类@interface Father : NSObject@end@interface Son : Father@end2.设置全局变量@interface ViewController () { Son *_s; Father *_f;} _f = [Father new]; _s = [Son new];下面开始判...原创 2019-01-14 18:15:42 · 873 阅读 · 0 评论 -
iOS - 自定义结构体
我一直在模仿,还未曾超越大神们......新建一个类,导入#import <UIKit/UIKit.h>框架,创建结构体:#import <UIKit/UIKit.h>typedef struct { int totalCount; int bestCount;}ZJJFriends;typedef struct { int...原创 2019-01-03 15:47:09 · 782 阅读 · 0 评论 -
iOS - 找出汉字拼音首字母
#import <Foundation/Foundation.h>@interface NSString (PinyinInitials)/**获取汉字拼音的首字母, 返回的字母是大写形式, 例如: @"俺妹", 返回 @"A".*如果字符串开头不是汉字, 而是字母, 则直接返回该字母, 例如: @"b彩票", 返回 @"B".*如果字符串开头不是...原创 2018-08-29 13:42:29 · 2545 阅读 · 0 评论 -
iOS - 富文本指定文字点击实现(仿超链接)
#import "ViewController.h"@interface ViewController () <UITextViewDelegate>@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loa...原创 2018-07-05 18:40:48 · 9363 阅读 · 1 评论 -
iOS - OC 与 Swift 桥接
OC & Swift 桥接问题原创 2017-06-09 16:03:52 · 617 阅读 · 0 评论 -
iOS - 关键词的解释
nonatomic与atomic的区别与作用转载 2017-06-07 15:48:18 · 389 阅读 · 0 评论 -
iOS - 自定义NSLog
在开发过程中,我们经常需要用到NSLog输出一些信息,甚至有的开发过程,必须在控制台查看输出,有经验的程序员通过控制台输出就能知道整个数据交互的一个流程。但是一个发布的程序,里面带有太多的NSLog输出,肯定对于App性能有所影响,这时候我们可以重写NSLog输出来处理,在开发的时候使用DEBUG模式,在发布的时候使用RELEASE模式。这样,发布的App就不会在程序内部做大量的NSLog输出了。原创 2017-06-02 11:45:16 · 416 阅读 · 0 评论 -
iOS - 利用AFN检测网络状态的类封装
利用AFN,实时检测网络状态,在此,封装了一个类,这里的返回值可以根据自己的癖好随意设置,开始撸代码:@interface ZJJAFCheckNetManager :AFHTTPSessionManager+ (void)checkNetWithBlock:(void(^)(NSString *))blockName;#pragma原创 2016-12-12 17:31:57 · 497 阅读 · 0 评论 -
iOS - 定位功能/获取当前位置信息的实现
本文比较简单,只是获取到当前的位置信息...在需要定位的控制器 .m 里面,添加如下代码:#import "ViewController.h"#import @interface ViewController ()CLLocationManagerDelegate>@property (nonatomic,strong)原创 2016-12-12 14:42:16 · 742 阅读 · 0 评论 -
iOS - 关于极光推送的步骤
其实简书上关于极光推送的文章已经很多,并且也很详细,所以,此篇文章仅作为自己日后的一个参考,仅此一点存在价值。so,本文讲述一下配置极光推送的步骤:1.先说证书的事情:developer.apple.com---->identifiers--->> 选择APP IDS. 创建一个app id , 填写需要推送的项目的 bundle id,创建完成之后,开启推送服务,创建推送证书,(有两原创 2016-12-09 17:44:08 · 482 阅读 · 0 评论 -
iOS - 关于支付宝的集成
本文章不再赘述其他的知识点。相信大家已经有了支付宝集成的基础。官方文档已经非常详细,下面开始讲述我的集成史(谨记)。。。步骤分为以下几步:1.引入SDK,拖入工程;AlipaySDK.bundle , AlipaySDK.framework , libcrypto.a , libssl.a , openssl(文件夹) ,原创 2016-12-09 17:12:11 · 295 阅读 · 0 评论 -
iOS - 设置项目工程的图标/启动页
在做项目之前,这些东西最好事先配置好,以免以后觉得恶心...好了,如果 coder 想多玩玩图片,自己做也未尝不可,反正我是喜欢利用工具一步到位,先说下我经常用的吧,App icon Gear, 如下图所示:关于它的使用不在细述,直接来 Xcode 里面配置:找到如上图所示的两个东西,如果找不到的话,就自己创建,右键,newfile ,然后,分别用这两个东西,拖入到刚才原创 2016-12-14 17:32:48 · 584 阅读 · 0 评论 -
iOS - 关于获取本机IP地址的实现
在此,封装了一个类:#import @interface FPJGetCurrentDeviceIPTool :NSObject- (NSString *)getIpAddresses;@end#import "FPJGetCurrentDeviceIPTool.h"#import #import原创 2016-11-18 13:56:48 · 813 阅读 · 0 评论 -
iOS - 关于上传手机本地图片到网页的问题
故事背景:我们可以获取到手机系统相册里面的图片,并且可以把它转化成UIImage *,至于本地图片,直接可以根据图片名字把它转化成UIImage * 类型的,其比较简单,在此不做说明。关键问题是,把这样的类型,如何上传到网页?也就是变成一个可以点开的链接。在此,我利用第三方AFNetworking上传。代码如下:#import "AFNetworking.h"@interfac原创 2016-10-20 09:21:00 · 787 阅读 · 0 评论 -
iOS - 关于点击小图查看大图的封装(包含单击、双击、捏合手势)
这次的封装,最终效果就是可以滑动查看所有图片,单击返回、双击放大/缩小、捏合放大/缩小的手势。在此,封装了一个类,继承于UIViewController...首先,看 .h 中:#import @interface ZJJLookPicturesViewController :UIViewController// 声明一个接收外部图片的数组@prop原创 2016-11-01 11:00:06 · 655 阅读 · 0 评论 -
[整理]-iOS- 原生二维码的扫描实现
由于模拟器不能实现摄像头拍照功能,所以以下内容仅适合真机测试。特此整理,供自己日后学习参考。。。第一步:导入系统类,声明代理,属性声明一些类,代码如下:#import "ViewController.h"#import @interface ViewController ()@property (strong ,nonatomic) AVCaptureSession *se转载 2016-09-21 16:38:25 · 396 阅读 · 0 评论 -
[整理]-iOS- 原生二维码的制作步骤
从iOS 7 开始集成了二维码的生成读取效果,今天在网上搜集了好多关于二维码的制作步骤,特在此自己整理一份,以供自己日后参考。。。第一步:属性声明一个UIImageView的对象,用来装载二维码;代码如下:@property (strong,nonatomic) UIImageView *imageView;第二步:在viewDidLoad方法里面创建过滤器(CIFilter),给过滤转载 2016-09-21 15:52:03 · 292 阅读 · 0 评论 -
iOS - 页面之间传值的实现 - block
在OC中页面之间传值,从前往后传已经没有什么意义,在此,关键说明利用block从后向前传值的方法的实现。为了方便说明,我们假设从 ViewController 跳转到 FirstViewController ,然后,把FirstViewController的值传到ViewController.首先,在 ViewController.m 中:#import "ViewContro原创 2016-12-08 14:01:58 · 270 阅读 · 0 评论