
OC
Johnay_xiao
Stay hungry, Stay foolish!
展开
-
iOS UIImage生成高性能圆角图片
- (void)imageWihtSize:(CGSize)size radius:(CGFloat)radius backColor:(UIColor *)backColor completion:(void(^)(UIImage *image))completion{ // 异步绘制裁切 dispatch_async(dispatch_get_global_queue(0, 0)原创 2017-11-27 11:19:15 · 1026 阅读 · 0 评论 -
MKMapView使用
#import "ViewController.h"#import <MapKit/MapKit.h>@interface ViewController ()<MKMapViewDelegate>@property (weak, nonatomic) IBOutlet MKMapView *mapView;@property (nonatomic, strong) CLLocationMana原创 2016-10-12 14:25:00 · 368 阅读 · 0 评论 -
CoreLocation定位
#import "ViewController.h"#import <CoreLocation/CoreLocation.h>@interface ViewController ()<CLLocationManagerDelegate>//必须把CLLocationManger声明属性@property (nonatomic, strong) CLLocationManager *mgr;@en原创 2016-10-12 14:20:10 · 256 阅读 · 0 评论 -
NSJSONSerialization使用
- (IBAction)convertJSON2Foundation:(id)sender { //需求:从网络中请求天气的JSON数据, 解析指定的值,显示到textView上 //0.天气对应url NSURL *weatherURL = [NSURL URLWithString:@"http://www.raywenderlich.com/demos/weather_s原创 2016-10-12 11:30:52 · 545 阅读 · 0 评论 -
Json本地解析
- (void)viewDidLoad { [super viewDidLoad]; //1.获取文件的路径 NSString *jsonFilePath = [[NSBundle mainBundle] pathForResource:@"test.json" ofType:nil]; //2.读取文件内的数据(NSData类型:一般服务器返回的数据类型是NSData原创 2016-10-12 11:17:04 · 254 阅读 · 0 评论 -
AFNetworking发送get和post请求
#import "ViewController.h"#import "AFNetworking.h"@interface ViewController ()@end@implementation ViewController- (IBAction)sendHTTPGetRequest:(id)sender { //0.准备url的字符串 NSString *urlStr = @"h原创 2016-10-12 11:10:58 · 388 阅读 · 0 评论 -
NSURLSessionDownloadTask下载图片
#import "ViewController.h"@interface ViewController ()<NSURLSessionDownloadDelegate>//显示进度label@property (weak, nonatomic) IBOutlet UILabel *progressPercentLabel;//进度视图@property (weak, nonatomic) I原创 2016-10-12 11:00:53 · 845 阅读 · 0 评论 -
URLSession数据协议下载图片
#import "ViewController.h"@interface ViewController ()<NSURLSessionDataDelegate>@property (weak, nonatomic) IBOutlet UIImageView *imageView;@property (weak, nonatomic) IBOutlet UIProgressView *progre原创 2016-10-12 10:40:41 · 416 阅读 · 0 评论 -
GCD实现下载图片操作
#import "TRTableViewController.h"#import "TRDataManager.h"#import "TRAlbum.h"#import "TRTableViewCell.h"@interface TRTableViewController ()@property (nonatomic, strong) NSArray *albumsArray;//存储下载好原创 2016-10-12 10:32:24 · 323 阅读 · 0 评论 -
WKWebView使用
#import "ViewController.h"#import <WebKit/WebKit.h>@interface ViewController ()<WKNavigationDelegate>@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; //1.创建NSURL原创 2016-10-12 10:05:15 · 291 阅读 · 0 评论 -
UIWebView使用
@interface ViewController ()<UIWebViewDelegate>@property (weak, nonatomic) IBOutlet UIWebView *webView;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; //1.创建远程NSU原创 2016-10-12 10:02:23 · 217 阅读 · 0 评论 -
MKMapView的Annotation使用
#import "ViewController.h"#import <MapKit/MapKit.h>#import "TRAnnotation.h"@interface ViewController ()<MKMapViewDelegate>@property (weak, nonatomic) IBOutlet MKMapView *mapView;@property (nonatomi原创 2016-10-12 14:38:12 · 780 阅读 · 0 评论 -
MKMapView绘制路线
#import "ViewController.h"#import <MapKit/MapKit.h>@interface ViewController ()<MKMapViewDelegate>@property (weak, nonatomic) IBOutlet MKMapView *mapView;@property (nonatomic, strong) CLGeocoder *ge原创 2016-10-12 14:40:33 · 738 阅读 · 0 评论 -
AVAudioPlayer播放本地音频
#import "ViewController.h"#import <AVFoundation/AVFoundation.h>@interface ViewController ()//记录systemSoundID@property (nonatomic, assign) SystemSoundID systemID;//记录播放器对象@property (nonatomic, stro原创 2016-10-12 14:56:02 · 436 阅读 · 0 评论 -
iOS 版本检测更新
#pragma mark - 检查更新- (void)checkVersion{ if ([AppID length] < 1) { return; } NSString *url = [NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@",AppID]; NSMutabl原创 2017-11-15 10:02:44 · 757 阅读 · 0 评论 -
WKWebView内容自适应宽度
NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appe原创 2017-11-13 15:36:27 · 4008 阅读 · 1 评论 -
UIWebView&WKWebView获取网页高度
实测,必需要延迟一会儿才能获取正确高度。 -(void)webViewDidFinishLoad:(UIWebView *)webView { dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ CGFloat原创 2017-11-09 17:27:46 · 256 阅读 · 0 评论 -
iOS开发中获取短信验证码倒计时按钮的实现
-(void)startTime{ __block int timeout=59; //倒计时时间 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_source_t _timer = dispatch_source_create(D原创 2016-11-17 17:31:03 · 354 阅读 · 0 评论 -
通知的使用方法
1.注册通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showProgressHud:) name:@"showProgressHud" object:nil];2.发送通知[[NSNotificationCenter defaultCenter] postNotificationName:@"原创 2016-10-10 14:14:16 · 259 阅读 · 0 评论 -
AFN用Post发送Json数据
NSDictionary * arr = @{ @"userName":@"408131213@qq.com", @"passWord":@"111111", @"longitudes":@"changsha",原创 2016-10-17 15:46:38 · 1850 阅读 · 0 评论 -
解决tableView无数据时还显示横线及线条显示不全问题
//解决tableView无数据时还显示横线问题 UIView *v = [[UIView alloc] initWithFrame:CGRectZero]; [self.tableView setTableFooterView:v];//解决cell线条显示不全-(void)viewDidLayoutSubviews { if ([self.tableView respo原创 2016-11-07 17:02:52 · 2891 阅读 · 0 评论 -
安装CocoaPods报错,The dependency AFNetworking (~> 3.1.0) is not used in any concrete target
安装CocoaPods报错:[!] The dependency AFNetworking (~> 3.1.0) is not used in any concrete target. 今天新机装cocopods时,等安装完毕发觉出现[!] The dependency AFNetworking (~> 3.1.0) is not used in any concrete target.这个警告。原创 2016-10-17 09:42:24 · 1234 阅读 · 0 评论 -
UIImage图片转成Base64字符串
//UIImage图片转成Base64字符串:UIImage *originImage = [UIImage imageNamed:@"originImage.png"];NSData *data = UIImageJPEGRepresentation(originImage, 1.0f);NSString *encodedImageStr = [data base64EncodedStrin原创 2016-11-04 11:59:01 · 899 阅读 · 0 评论 -
AVPlayerLayer播放网络音视频
#import "ViewController.h"#import <AVFoundation/AVFoundation.h>@interface ViewController ()@property (weak, nonatomic) IBOutlet UISegmentedControl *segmentControl;//播放对象@property (nonatomic, strong原创 2016-10-12 15:00:04 · 2009 阅读 · 0 评论 -
NSBlockOperation使用
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //手动设置任务之间依赖关系,进而改变自动的执行顺序 [self createDependency];}- (void)createDep原创 2016-10-12 09:41:25 · 1490 阅读 · 0 评论 -
KVO使用
//1.创建观察者对象;创建被观察者对象 TRBank *bank = [TRBank new]; //2.使用KVC方式给被观察者对象设置余额 [bank setValue:@1000.5 forKey:@"accountBalance"]; //3.被观察者调用addObserver方法,添加观察动作 /* 参数一:指定观察对象的属性名字(属性路径)原创 2016-10-12 09:29:49 · 233 阅读 · 0 评论 -
KVC使用
//先用init方式初始化person对象 TRPerson *firstPerson = [[TRPerson alloc] initWithName:@"Maggie" withAge:18]; //点语法获取 NSLog(@"使用点语法获取名字:%@;年龄:%d", firstPerson.name, firstPerson.age); //KVC方式一获取(针原创 2016-10-12 09:22:31 · 237 阅读 · 0 评论 -
NSFileManager创建与拷贝文件
- (void)viewDidLoad { [super viewDidLoad]; //需求一:创建xxx/Documents/test文件夹 //1.拼接文件夹的路径 NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask原创 2016-10-11 14:04:24 · 276 阅读 · 0 评论 -
iOS文件读写
- (void)viewDidLoad { [super viewDidLoad]; //需求:NSArray数据存到XXX/Documents/test.txt //1.NSArray NSArray *array = @[@"Jonny", @19, @[@"Objective-C", @"Swift", @"Ruby"]]; //2.Documents路原创 2016-10-11 14:02:03 · 326 阅读 · 0 评论 -
获取沙盒路径
//1.获取沙盒数据容器根目录 NSString *homePath = NSHomeDirectory(); NSLog(@"home根目录:%@", homePath); //2.获取Documents路径 /*参数一:指定要搜索的文件夹枚举值 参数二:指定搜索的域Domian: NSUserDomainMask 参数三:是否需要绝对/全路原创 2016-10-11 13:59:07 · 362 阅读 · 0 评论 -
iOS代码行数计算
import <Foundation/Foundation.h>//存放文件绝对路径NSString *filePath = @"/Users/ios/Desktop/dome-3";// 计算文件的代码行数/* path : 文件的全路径(可能是文件夹、也可能是文件) 返回值 int :代码行数 */NSUInteger codeLineCount(NSString *path){原创 2016-10-11 09:59:29 · 301 阅读 · 0 评论 -
沙盒读写
- 写[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@”isFirstLaunch”]; [[NSUserDefaults standardUserDefaults] synchronize];- 读BOOL launchScreen = [[NSUserDefaults standardUserDefaults原创 2016-10-10 16:30:04 · 248 阅读 · 0 评论 -
导航栏添加自定义按钮(图片在左文字在右)
UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom]; addButton.frame = CGRectMake(10, 0, 60, 40); [addButton setImage:[UIImage imageNamed:@"iconfont-xinzengyemian"] forState:UICo原创 2016-10-10 14:39:21 · 2651 阅读 · 0 评论 -
iOS选取图片与拍照保存图片
//遵守协议,第一个必需遵守,第二个我不确定<UIImagePickerControllerDelegate,UINavigationControllerDelegate>- (void)funcChooseFromPhotoAlbum { UIImagePickerController *imagePicker = [[UIImagePickerController alloc] in原创 2016-10-10 14:33:35 · 665 阅读 · 0 评论 -
拔打电话操作
- (void)callAction{ NSString *number = @"0731-89785233";// 此处读入电话号码 // NSString *num = [[NSString alloc]initWithFormat:@"tel://%@",number]; //number为号码字符串 如果使用这个方法结束电话之后会进入联系人列表 NSString *nu原创 2016-10-10 14:23:20 · 576 阅读 · 0 评论 -
BLOCK使用方法
1. 定义typedef void(^BACK_BLOCK)(NSString*);@property (nonatomic, strong) void(^block)(NSString *);2.调用self.block(@”dlflsdfl”);3.实现detailTableView.block = ^(NSString *text) { UITableViewCell *原创 2016-10-10 14:01:04 · 276 阅读 · 0 评论 -
iOS中显示获取缓存的大小多少M,点击清除缓存方法
// 显示缓存大小 -( float )filePath {NSString * cachPath = [ NSSearchPathForDirectoriesInDomains ( NSCachesDirectory , NSUserDomainMask , YES ) firstObject ];return [ self folderSizeAtPath :cachPath];} //原创 2016-10-10 13:52:05 · 2213 阅读 · 0 评论 -
iOS移动和删除文件
- (void)viewDidLoad { [super viewDidLoad]; NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSString *libraryPath = [原创 2016-10-11 14:06:55 · 324 阅读 · 0 评论 -
iOS文件拷贝实现
//拷贝小文件- (IBAction)copyNormalFile:(id)sender { //需求:/Documents/source.txt -> 拷贝到/Docuements/target.txt //1.两个文件所在的路径 NSString *sourcePath = [self.documentsPath stringByAppendingPathComponen原创 2016-10-11 14:12:37 · 1374 阅读 · 0 评论 -
NSUserDefaults的使用
- (void)viewDidLoad { [super viewDidLoad]; //需求一:不同的类型数据存入文件 //1.准备数据 NSArray *array = @[@"Bob", @20, @[@"Shell", @"Python", @"Objective-C"]]; BOOL isLogIn = YES; NSInteger gradeV原创 2016-10-11 14:14:57 · 186 阅读 · 0 评论