自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 iOS UILabel重绘

iOS中圆在顺时针方向的时候圆的0点位置1、创建一个Label继承自UILabel,并重写- (void)drawRect:(CGRect)rect;- (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); // 宽度 CGFloat w = rect.s...

2019-04-25 11:34:03 672

原创 新闻快报

声明文件@class Jie_CarouselNewsView;@protocol Jie_CarouselNewsDataSource <NSObject>@required// 需要显示轮播的数据, 显示普通的字符串- (NSArray<NSString *> *)carouseNewsData:(Jie_CarouselNewsView *)jie_ca...

2019-04-16 17:20:14 166

原创 [EventKit] Error getting default calendar for new reminders: Error Domain=EKCADErrorDomain Code=1013

创建Reminder并添加到EKEventStore中- (void)addReminderNotify:(NSDate *)date title:(NSString *)title startDate:(NSDate *)startDate endDate:(NSDate *)endDate { //申请提醒权限 __weak typeof(self) weakSelf...

2018-09-12 19:49:02 1112

原创 如何自定义一个TabBar

自定义一个TabBar的步骤: 1. 首先自定义一个TabBarController继承自UITabBarController,比如JieTabBarController:UITabBarController .h文件如下@interface JieTabBarController : [email protected]文件#import &quot;JieTabBa...

2018-08-20 09:27:05 357

原创 Label高度自适应,伴随设置字行间距,字间距

NSString *text = @"如果options参数为,那么整个文本将以每行组成的矩形为单位计算整个文本的尺寸。(在这里有点奇怪,因为字体高度大概是13.8,textView中大概有10行文字,此时用该选项计算出来的只有5行,即高度为69。而同时使用却可以得出文字刚好有10行,即高度为138,这里要等iOS7官方的文档出来再看看选项的说明,因为毕竟以上文档是iOS6的东西)";...

2018-08-14 19:42:31 591

原创 KVO的底层实现原理

KVO的底层实现原理KVO的定义(Key-Value Observing)俗称键值监听。它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。 KVO是“观察者”设计模式的一种应用,利用它可以很容易实现视图组件和数据模型的分离,当数据模型的属性值改变之后作为监听器的视图组件就会被激发,激发时就...

2018-03-23 14:45:46 296

原创 极光推送中遇到的坑,NSCocoaErrorDomain Code=3000 “未找到应用程序的“aps-environment”的授权字符串

项目中有继承极光推送功能,之前开发完之后,消息推送功能是好用的,但最近做其他项目去了,完事被提了一个无法收到消息推送的bug问题,因为在个推中设置了用户别名,当时应该是我们在登录完成之后,设置别名不成功,导致的无法收到消息。刚好消息推送的证书快过期了,然后去查看了一下,发现在TARGETS中的Capabilities中Push Notifications中有一项Add the Push NOtifi

2017-09-15 11:17:07 3938

原创 我在OC工程中调用Swift的记录

心情今天早晨在地铁站倒霉的遇到一个泼妇,虽然我很不愿意用这个词来形容一个妇女,但确实找不到合适的词来形容她,作为一个男人,我虽没有温文尔雅的举止,也不是特别的绅士,但还是一个很讲道理,很文明的人。本来想抽她几巴掌吧,回头想想和自己的形象不服,你和她讲道理吧,和泼妇是没有道理可讲的,只能自认倒霉,好在我们社会和谐,文明,这种泼妇形象的还是比较的少。我是大度之人,她影响了我一个小时的心情(还没到公司,导

2017-07-07 11:35:28 1086

原创 iOS中CocoaPods继承使用Charts总结

Charts以一款用于绘制图表的框架,可以绘制柱状图、折线图、K线图、饼状图等. 由于Charts只有Swift版本,所以在这里详细的讲一下在OC项目中怎么导入Charts框架,下面开始一步一步做!我在此假设你已经安装好 Cocoapods 了。 1. 首先新建一个项目,比如TestCharts,并将其保存在桌面上,保存在其他地方也行; 2. 然后打开终端,cd + 项目路径(

2017-06-05 11:43:07 2383

原创 本地工程中删除了一些不需要的文件后,提交SVN报错处理

接手之前的开发人员的项目,感觉的文件杂乱无章,然后就好好的整理了一下,对整个项目系统的优化了一次,删除了很多没用的文件,编译运行之后,没有报错,然后提交SVN,发现提交不成功,报错如下:Description : Commit failed (details follow):Suggestion : The operation could not be completed.Technical Inf

2017-06-01 10:09:58 5737 2

原创 iOS多线程

多线程执行原理单核CPU同一时间,CPU只能处理一个线程,只有一个线程在执行多线程同时执行:是CPU快速的在多个线程之间切换CPU调度线程的时间足够快,就会造成了多线程的 同时 执行如果线程非常多,CPU会在n个线程之间切换,消耗大量的CPU资源,每个线程被调用的次数会降低执行的效率多线程的优缺点优点能适当的提高程序的执行效率能适当提高资源的利用率(CPU,内存)线程上的任务执行

2017-03-25 21:05:52 291

原创 单例设计模式

单例设计模式的几种实现方式(Singleton)单例设计模式是为了保证在我们的应用程序中该类的对象只有一个。单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。单例模式的要点 显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实单例模式的优点 实例控制:Sin

2017-03-25 21:02:39 221

原创 Xcode中的Group和fold的区别

对于一些刚刚使用Xcode不久的新手来说,新建文件夹的时候,经常的操作就只直接在项目工程的文件夹下直接使用右键然后New Group一下,这样新建的文件夹在Xcode里面查看的时候,貌似没有什么问题,当我们把我们的一对的文件直接创建在里面的时候,看着确实是我们建的文件夹的效果,但是当我们在工程根目录下使用右键show in finder进行查看的时候,我们会发现其实我们建立的文件是乱七八糟的,不利于

2017-03-02 22:53:56 552

原创 UIWebView适应屏幕大小

在开发的过程中,经常遇到UIWebView,UIWebView需要适应手机屏幕的大小,如果直接让网页在手机上按照网页的大小进行等比例的缩放的话,网页上的文字就太小了,看不清楚,所以在开发的过程中,我们采用先让网页中的图片适应手机的屏幕大小,然后将网页中的文字填充进去,两行代码就可以搞定,不废话,直接上代码:其中webTitle是我们需要添加的让网页适应的一段HTML,htmlIntroduceStr

2017-03-01 11:05:22 551

原创 开发的时候真机测试添加设备注意事项

进入苹果开发者中心网站,登录开发者账号,进入之后按下操作:最后双击下载好的文件,然后重启Xcode就可以对添加的设备进行真机测试了。

2017-03-01 10:50:03 572

原创 UITabbarItem间的快速跳转

应用中有多个Tabbar的时候,进行TabbarItme之间的相互跳转,是我们在开发中常常遇到的问题,当在一个tabbarItem的子视图控制器中,当点击某个按钮的时候,需要快速的跳转到另外一个tabbarItem之上,快捷的方式就是先通过导航控制器找到tabbarController,然后直接设置要跳到的tabbarItem的角标即可。代码如下: - (BOOL)navigationShould

2017-02-09 18:07:22 337

转载 NSURLSession使用实战教程

http://www.cnblogs.com/JackieHoo/p/5001588.html

2016-05-11 11:16:41 331

转载 ios控件 UIPickerView应用 制作简易省、市、地区选择器[原创]

前言: UIPickerView 是一个选择器控件, 它可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活。 UIPickerView 直接继承了 UIView ,没有继承 UIControl ,因此,它不能像 UIControl 那样绑定事件处理方法, UIPickerView 的事件处理由其委托对象完成。正文: UIPickerView 控件常用的

2016-05-06 12:39:05 670

转载 iOS label根据显示内容自适应大小 时间 2015-12-04 16:39:00 博客园-原创精华区 原文 http://www.cnblogs.com/czq1989/p/5019720.

1 - (void)setupLabel { 2 //准备工作 3 UILabel *textLabel = [[UILabel alloc] init]; 4 textLabel.font = [UIFont systemFontOfSize:16]; 5 NSString *str = @"222222222222222222222222222222222

2016-05-06 12:32:20 1177

转载 观察者模式( kvo基于键值 和Notification通知)

KVO提供一种机制,当指定的被观察的对象的属性被修改后,KVO自动通知相应的观察者。KVC(键值编码)是KVO的基础。通知是一种广播机制,在事件发生的时候,通过中心对象,一个对象能够为所有关心这个事件发生的对象发送消息两者都是观察者模式,不同在于KVO是被观察者直接发送消息给观察者,是对象间的直接交互。通知则是两者都和中心对象交互,对象互相并不知道彼此(一)KVO.Key Value obse

2015-12-31 16:37:48 343

原创 一个值得珍藏的网站

http://www.cnblogs.com/kenshincui/p/3983982.html

2015-12-29 20:15:48 536

转载 iphone 线程总结— detachNewThreadSelector的使用

不管是iphone中还是其他的操作系统,多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美。多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。一、线程创建与启动线程创建主要有二种方式:(id)init; // designated initializer

2015-12-29 20:07:47 298

原创 多线程的使用(1)-performSelectorOnMainThread

在做项目中,要提高效率,就必须使用多线程。多线程,在网上搜索,有很多方法使用。今天,接触到了performSelectorOnMainThread 方法。NSAutoreleasePool *pool =[[NSAutoreleasePool alloc] init]; [self performSelectorOnMainThread:@selector(RefreshCel

2015-12-29 19:59:34 376

原创 多线程GCD, NSThread, NSOperation

#import "ViewController.h"#import "MyOperation.h"#import "MBProgressHUD.h"#import "AFNetworking.h"@interface ViewController ()@property(nonatomic, retain)UIImageView *imageView;@end@implementation

2015-12-11 21:32:19 489

转载 类目, 延展, 协议

1.类目类目就是为已存在的类添加新的方法。但是不能添加实例变量。比如系统的类,我们看不到他的.m文件,所以没有办法用直接添加方法的方式去实现。@interface NSMutableArray (Sort) //为NSMutableArray类添加Sort方法,Sort就是类目名,做到见名知意-(void)invert;//方法@end实现部分#import "NSMutableArra

2015-12-09 08:51:40 364

转载 文章标题

//// YYViewController.m// 19-地理编码//// Created by apple on 14-8-11.// Copyright (c) 2014年 yangyong. All rights reserved.//#import "YYViewController.h"#import <CoreLocation/CoreLocation.h>@int

2015-11-23 22:19:07 283

原创 文章标题

// 点击空白处回收键盘- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesBegan:touches withEvent:event]; [self.usernameLoginLTView.myTextField resignFirstResponder]; [s

2015-11-23 19:56:11 258

转载 iOS中几种数据持久化方案:我要永远地记住你!

概论所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案:plist文件(属性列表)preference(偏好设置)NSKeyedArchiver(归档)SQLite 3CoreData沙盒在介绍各种存储方法之前,有必要说明以下沙盒机制。iOS程序默认情况下只能访问程序自己的目录

2015-11-20 09:25:44 446

原创 XML 数据解析案例

#import "DomTool.h"@implementation DomTool+ (NSMutableArray *)startDomTool { // 先获取文件路径 NSString *path = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"xml"]; // 把路径下得文件变成NSData

2015-11-18 15:52:34 352

转载 文章标题

1、第一部分定义和使用Block,- (void)viewDidLoad{ [super viewDidLoad]; //(1)定义无参无返回值的Block void (^printBlock)() = ^(){ printf("no number"); }; printBlock(); printBlock(9); int m

2015-11-15 17:52:49 305

原创 UITableView

标签:UITableView——-表视图–继承UIScrollView并遵守NSCoding协议属性frame————-设置控件的位置和大小backgroundColor——–设置控件的颜色style——–获取表视图的样式dataSource———设置UITableViewDataSource的代理delegate———设置UITableViewDelegate代理sectionHeaderHeig

2015-11-11 16:06:42 436

原创 iOS之图片处理

#import "ViewController.h"@interface ViewController ()<UIActionSheetDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate>@property(nonatomic, retain)UIImageView *imageView;@end@i

2015-11-11 11:18:04 336

原创 iOS 笔记之block

#import "RootViewController.h"#import "SecondViewController.h"@interface RootViewController ()<UIActionSheetDelegate>@property(nonatomic, retain)UIButton *button;@property(nonatomic, retain)UIAction

2015-11-11 11:15:37 383

原创 iOS笔记之tableView

#import "RootViewController.h"#define WIDTH self.view.frame.size.width#define HEIGHT self.view.frame.size.height@interface RootViewController ()<UITableViewDataSource, UITableViewDelegate>@property

2015-11-11 11:10:27 333

原创 iOS 无线滚动相册之scrollView

@implementation RootViewController- (void)dealloc { [_scrollView release]; [_pageControl release]; [super dealloc];}- (void)viewDidLoad { [super viewDidLoad]; self.scrollView = [[

2015-11-11 11:07:54 651

原创 iOS笔记之手势

// 创建一个imageView self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.jpg"]]; self.imageView.frame = CGRectMake(0, 0, 375, 667); [self.view addSubview:self.i

2015-11-11 11:04:49 273

原创 iOS网络请求GET方式与POST方式

// 同步get请求NSString *strURL = @"http://api.map.baidu.com/place/v2/search?query=银行&region=大连&output=json&ak=6E823f587c95f0148c19993539b99295"; // 因为网址里不允许有汉字, 只能有26个字母的大小写, 数字, 和一些指定的符号, 比如&, %, / 等,

2015-11-11 10:57:58 477

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除