
ios
文章平均质量分 65
printf程序猿
正常人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
swift 倒计时 计算
func countDown(_ timeOut: Int, lb: UILabel){ var timeout = timeOut let queue:DispatchQueue = DispatchQueue.global(qos: DispatchQoS.QoSClass.default) let _timer:DispatchSource = DispatchSource.make...原创 2022-04-18 10:07:24 · 739 阅读 · 0 评论 -
ios uitextfiled 键盘 输入类型
1、UIKeyboardTypeDefault,常用于文本输入2、UIKeyboardTypeASCIICapable,常用于密码输入3、UIKeyboardTypeNumbersAndPunctuation,和上一个键盘互相切换4.UIKeyboardTypeURL,适用于网址输入5、UIKeyboardTypeNumberPad ,只有数字的数字键盘6.UIKeyboardTypePhonePad,可用于拨号的数字键盘,带*#+7、UIKeyboardTypeDe...原创 2022-03-18 16:32:15 · 676 阅读 · 0 评论 -
SwiftDate ios 时间转成 timeInterval
SwiftDate时间相减 计算 时间差 let date1Str = "2016/09/30" let date2Str = "2021/12/01" let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy/MM/dd" let date1 = dateFormatter.date(from: date1Str) ...原创 2022-03-14 14:05:01 · 571 阅读 · 0 评论 -
时间格式化处理
NSDateFormatter例如:func getNowTheTime() -> String { // create a date formatter let dateFormatter = DateFormatter() // setup formate string for the date formatter dateFormatter.dateFormat = "yyyy-MM-dd_HH:mm:ss" // format the curre...转载 2022-02-14 17:45:32 · 583 阅读 · 0 评论 -
iphone 自定义铃声制作
iphone 自定义铃声制作第一步 下载一个 mp3 的音乐文件第二步 使用苹果音乐 (itunes)打开第三部选择音乐 显示简介 选项 截取40 秒以内的音乐第四部 转换成为 m4r 的 铃声格式第五步 连接手机 拖到手机里面第五步 打开手机 设置 设置铃声...原创 2021-05-06 10:39:06 · 670 阅读 · 0 评论 -
自定义tabbar 显示图片
首先在appdelegate导入#import "WatchTabBarViewController.h"#import "WatchTabBarItem.h"然后设置根视图中 调用 - (void)customizeInterface { UINavigationBar *navigationBarAppearance = [UINavigationB原创 2016-11-21 15:04:22 · 1060 阅读 · 0 评论 -
CAShapeLayer与UIBezierPath
使用CAShapeLayer与UIBezierPath可以实现不在view的drawRect方法中就画出一些想要的图形步骤:1、新建UIBezierPath对象bezierPath2、新建CAShapeLayer对象caShapeLayer3、将bezierPath的CGPath赋值给caShapeLayer的path,即caShapeLayer.pat转载 2016-10-19 11:35:04 · 5428 阅读 · 0 评论 -
ios 补充占位符
int a=5; int b=4; //输出前面补0,不管你输入的数据前面有没有0 sp;NSLog(@"====>%@",[NSString stringWithFormat:@"%02d:%02d",a,b]);原创 2016-10-19 11:03:46 · 884 阅读 · 0 评论 -
CAShapeLayer
之前讲过CALayer动画相关知识,再来看看更加复杂的CAShapeLayer相关的动画知识.普通CALayer在被初始化时是需要给一个frame值的,这个frame值一般都与给定view的bounds值一致,它本身是有形状的,而且是矩形.CAShapeLayer在初始化时也需要给一个frame值,但是,它本身没有形状,它的形状来源于你给定的一个path,然后它去取CGPath值,它与CA转载 2016-10-19 09:31:32 · 234 阅读 · 0 评论 -
图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序
用Objective-C实现几种基本的排序算法,并把排序的过程图形化显示。其实算法还是挺有趣的 ^ ^.选择排序冒泡排序插入排序快速排序选择排序以升序为例。选择排序比较好理解,一句话概括就是依次按位置挑选出适合此位置的元素来填充。暂定第一个元素为最小元素,往后遍历,逐个与最小元素比较,若发现更小者,与先前的"最小元素"交换位置。达到更新最小元素的目的。一趟遍历完成后转载 2016-11-09 13:25:23 · 942 阅读 · 0 评论 -
cocopods 删除原有 ruby 重新安装等解决方案
一、全新安装前,先检查是否有安装残留1、如果之前装过cocopods,最好先卸载掉,卸载命令:$ sudo gem uninstall cocoapods2、先查看本地安装过的cocopods相关东西,命令如下:$ gem list --local | grep cocoapods会显示如下:cocoapods-core (0.39.0)cocoapods-downloader (0.9.3)co...原创 2016-10-25 15:42:06 · 11125 阅读 · 0 评论 -
CBCentralManager
自己看着文档写的,权当笔记。@interface CBCentralManager : NSObject//CBCentralManager的几种状态typedef NS_ENUM(NSInteger, CBCentralManagerState) {// 初始的时候是未知的(刚刚创建的时候)CBCentralMa原创 2016-11-25 14:03:44 · 1769 阅读 · 0 评论 -
ios 横向日历控件的使用
ios 横向滚动日历控件第一步 导入文件 文件在我的资源中 #import "ASWeekSelectorView.h"@property (strong,nonatomic) ASWeekSelectorView *weekSelector;第二步创建日历控件- (ASWeekSelectorView *)weekSelector{ if (_weekSelector =原创 2016-12-30 11:43:51 · 2819 阅读 · 0 评论 -
swift pop 到指定的控制器
for i in 0..if self.navigationController?.viewControllers[i].isKindOfClass(LoanViewController) == true{// send notification// NSNotificationCenter.defaultCenter().postNotificationName("RefreshDa原创 2017-09-29 15:03:51 · 2151 阅读 · 0 评论 -
swift ios 发送邮件 添加收件人,抄送人 主题 以及文字 图片
func sendEmail() { //首先要判断设备具不具备发送邮件功能 if MFMailComposeViewController.canSendMail(){ let controller = MFMailComposeViewController() //设置代理 controller.mailComposeDelegate = self //设置主题// ...原创 2018-02-10 14:26:57 · 1308 阅读 · 0 评论 -
UISearchBar 属性、方法详解
UISearchBar 的属性UISearchBar 的方法自定义 UISearchBar 的样式1. UISearchBar 的属性介绍之前先说一下 UISearchBar 的初始化方法:UISearchBar 是 UIView 的子类,它的初始化方法有三种:- (instancetype)init - (instancetype)initWithFrame:(CGRect)frame - (n...转载 2018-02-23 09:26:28 · 601 阅读 · 0 评论 -
swift 3.0 SDwebImage 使用
1 加载图片完成后的操作 imagePic.sd_setImage(with: URL.init(string: imgUrl)!, placeholderImage: nil, options: .retryFailed) { (image, error, cacheType, imageURL) in if image != nil{ ...原创 2018-05-11 11:23:14 · 810 阅读 · 0 评论 -
cordova 使用ionic 兼容开发iOS 和安卓
第一步 安装cordova1.安装cordova 需要提前安装nodc.js ==>下载pkg 安装包安装2.在终端 执行 npm install cordova ionic 指令3.执行 npm install指令4.如果是以前的项目就先移除 移除指令 cordova platform rm ios5.增加ios 的指令 安卓需要指定安卓的版本 cord...原创 2018-08-09 18:11:21 · 1266 阅读 · 0 评论 -
swift data 转byte
var bytes = [UInt8](data2)let pointer: UnsafeMutablePointer<UInt8> = UnsafeMutablePointer(&bytes)原创 2019-03-04 16:59:39 · 4237 阅读 · 0 评论 -
ios10 配置权限
在iOS10中,如果你的App想要访问用户的相机、相册、麦克风、通讯录等等权限,都需要进行相关的配置,不然会直接crash(闪退)。需要在info.plist中添加App需要的一些设备权限。NSBluetoothPeripheralUsageDescription访问蓝牙NSCalendarsUsageDescription访问日历NSCameraUsageDe转载 2016-09-28 10:57:55 · 2054 阅读 · 0 评论 -
iOS 10 UserNotifications 使用说明
本教程以贴代码为主。尽可能直观,少量说明。注意:XCode8的需要手动开启主target Capabilities中的Push Notification。关于创建多个target后真机测试的证书问题,除了主target手动创建开发和发布证书,并设置了APNS证书外,其它均使用Automatically manage signing。首先介绍一下本文涉及到User转载 2016-09-26 14:20:53 · 3165 阅读 · 0 评论 -
svn
1 打开confing add 【user】 name = xiaoyuangeemail = 8345504@...com2 如果要在网上服务器(两种){1 公司服务器1.1Xcode--> prefenerces->>add 账号 --》》add代码仓 --》类型 Subversion2github的服务器2.1Xcode--> prefenerces-原创 2016-01-09 19:43:59 · 212 阅读 · 0 评论 -
ios线程 线程保护 卖票问题 网络加载的线程
1.创建线程的三种方式 (队列线程)1.1block创建线程NSBlockOperation *operation = [NSBlockOperationblockOperationWithBlock:^{ for (int i =0; i 10; i ++) { NSLog(@"thread =原创 2015-12-01 15:12:49 · 419 阅读 · 0 评论 -
GCD线程
定义2个imageView6个button前三个打印 后三个控制显示- (IBAction)chuanxing:(UIButton *)sender {//创建队列对象 DISPATCH_QUEUE_SERIAL//串行的队列 "com.queue.serail"标识 dispatch_queue_t serailQueue =dispatch_queue_原创 2015-12-01 21:02:21 · 327 阅读 · 0 评论 -
传值方式(正向传值) 代理 block块 通知
(前提要求都是把第二个页面的只传给第一个页面)1.代理 一对一在第二个页面设置代理 1.1在最上方设置 //选择房间的代理@protocol RoomVCDelegate NSObject>1.2设置代理方法//方法-(void)selectRoomName:(NSString *)name;1.3定义委托对象@property (nona原创 2015-12-02 08:59:56 · 551 阅读 · 0 评论 -
OC解析XML文件
1系统解析方法 2第三方解析方法1.1系统解析方法(需要先设置代理NSXMLParserDelegate)//获取路径 NSString *path = [[NSBundlemainBundle]pathForResource:@"Students"ofType:@"xml"]; NSData *data = [NSDatadataWithCon原创 2015-12-02 14:56:36 · 607 阅读 · 0 评论 -
HTTP请求协议 get post方法 获取数据解析
定义@property (nonatomic,strong)NSMutableData *data;@property (nonatomic,assign)NSInteger allLeng;全局变量1get同步 (ios7.0 以后不推荐使用NSURLConnection 被NSURLSession替换 但是基本类似)没有请求体 默认请求方式是get原创 2015-12-02 21:01:50 · 4153 阅读 · 0 评论 -
json解析数据 再讲数据转化成json
1.系统方法解析 2.第三方解析(JSONKit.h)1 //获取要解析的文件路径 NSString *path = [[NSBundlemainBundle]pathForResource:@"Students"ofType:@"txt"]; NSData *data = [NSDatadataWithContentsOfFile:path];原创 2015-12-02 20:55:48 · 358 阅读 · 0 评论 -
2016.1.18scan 二维码(仿照支付宝。微信)
1 生成二维码(原生方法生成二维码)首先 要把二维码上的信息付给他 tempStr=self.textField.text;其次 创建一个图片(在此之前需要导入#import"QRCodeGenerator.h") UIImage*tempImage=[QRCodeGenerator qrImageForString:tempStr imageSize:原创 2016-01-18 09:43:51 · 1011 阅读 · 0 评论 -
激光 推送
1打开 苹果开发者的官网 登陆 选择意思是证书2选择 ios APP---->identifier-->app IDs 选择创建(加号)----》找到App Services--》选择 Push NotificationsApp ID Suffix Bundle ID:34567891011原创 2016-01-26 17:27:10 · 620 阅读 · 0 评论 -
ios 代理
我太忙了,雇用了一位助手,并安排了一定任务A,任务B,任务C,.. 给他。 一 接到活,属于任务A,B,C...之类的活,我自己不做,直接抛给助手去完成。那么,“我”就是A Object. “助手”就是"我"的“Delegate”。写成代码就是: 我.delegate= 我的助手我的助手是可以实现我给他的任务A,B,C,..的,这些任务就是协议 protocol 。由我助手来实现原创 2016-05-26 09:25:39 · 231 阅读 · 0 评论 -
获取手机信息
//手机序列号 NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier]; NSLog(@"手机序列号: %@",identifierNumber); //手机别名: 用户定义的名称 NSString* userPhoneName = [[UIDevice c原创 2016-06-29 18:01:29 · 294 阅读 · 0 评论 -
MJExtension使用指导(转)
MJExtension使用指导(转)字数1811 阅读13886 评论3 喜欢42当自己看到原文的排版时,真的是。。。,自己花了点时间重新排版了下,分享出来!原文链接:IOS 字典模型互转框架 MJExtensionMJExtension能做什么?MJExtension是一套字典和模型之间互相转换的超轻量级框架MJExtension能完成的功能转载 2016-05-18 10:18:45 · 335 阅读 · 0 评论 -
mjRefurbish block方法
#import "YFMVCPostListViewController.h"#import "YFArticleModel.h"#import #import #import #import "YFMVCPostViewController.h"@interface YFMVCPostListViewController ()UITableViewDelegate, UITable原创 2016-05-17 17:38:26 · 253 阅读 · 0 评论 -
@property atomic与nonatomic readonly
@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法。在xcode4.5以及以后的版本,@synthesize可以省略。1.atomic与nonatomicatomic :默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避免该变量的读写不同步问题。nonatomic :如果该对象无需考虑多线程的原创 2016-04-20 18:43:45 · 330 阅读 · 0 评论 -
环信 头像 昵称处理
环信:发送头像和昵称(从消息扩展中获取)字数1249 阅读2153 评论4 喜欢4昵称和头像注意:以下是在官方Demo3.0的基础上修改的。官方Demo下载地址环信提供了获取头像和昵称的两种方式:方法一 从APP服务器获取昵称和头像昵称和头像的获取:当收到一条消息(群消息)时,得到发送者的用户ID,然后查找手机本地数据库是否有此用户I转载 2016-05-16 10:57:26 · 5989 阅读 · 0 评论 -
电话 短信
调用打电话功能[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];调用发短信功能[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://10000"]];原创 2016-05-27 10:12:45 · 264 阅读 · 0 评论 -
tabbar
(1)tabbar超过5个后出现的more标签文字修改 以及more、configure界面 修改问题 建议您先看:http://poolo.iteye.com/blog/1833821 关于view层级关系的理解[也就是view tree]简单描述下:需要修改more为更多[其实单纯想要修改成中文 直接在项目的info->Localization 改成中文就行了]。原创 2016-05-13 15:24:43 · 539 阅读 · 0 评论