在上一篇博客中详细的介绍了IOS开发中的相对布局和绝对布局,随着手机屏幕尺寸的改变,在App开发中为了适应不同尺寸的手机屏幕,用自动布局来完成我们想要实现的功能和效果显得尤为重要.本人更喜欢使用相对布局.在下面要学习的例子中暂且先用我们的StoryBoard来设置我们组件的约束,以后会在代码中给我们的元素新建约束.iPhone4,5和将要发布的iPhone6的屏幕的大小都不一样,所以屏幕的适配是我们搞App开发必须要考虑的问题. 我们要完成一个什么例子呢,先上两张程序运行最终的结果图,之后看着图…
NSString *const kWebsite = @"http://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fr=&sf=1&fmq=1459502303089_R&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width…
[iOS系列]-iOS开发,GET,POST请求使用 步骤: 1:实例化URL(网络资源) 2:根据URL建立URLRequest(网络请求) 默认为GET请求: 对于POST请求,需要创建请求的数据体 3:利用URLConnection发送网络请求(建立连接) NSURLConnection的同异请求(网络中一般使用异步请求,同步会阻塞主线程): 同步请求: sendSynchronousRequest:returningResponse:error: 异步请求: sendAsynchrono…
iOS中使用block进行网络请求回调 HttpRequest.h // // HttpRequest.h // UseBlockCallBack // // Created by Michael on 2/13/14. // Copyright (c) 2014 EIMS. All rights reserved. // #import <Foundation/Foundation.h> typedef void (^FinishBlock)(NSString *dataString); @…
一.为什么封装 因为android 4.0 以后的发送网络请求必须要放到异步线程中,而异步线程必须跟handle合作才能更新主线程中的UI,所以建议用一个类继承handler来异步处理网络请求. 二.封装哪些功能. 首先,每次发送网络请求都需要先检测网络连接是否正常.其次需要向用户提供一个提示信息,比如ProgressDialog,然后简单粗暴的把网络请求结果设为3种:1->请求成功;2->请求失败;3->连接超时.请求成功的话就返回正确的结果,请求失败就提示网络请求失败.请求超时就询问…
1.多任务请求接口,完成后,在刷新数据,常用方法 2018年07月18日 16:34:38 hbblzjy 阅读数:1382 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/hbblzjy/article/details/81100453 //线程组解决同一个界面需要请求多个接口数据,当全部请求完成后,再进入主线程刷新界面 /* 这种问题使用 dispatch_group_enter(grpupE);来解决,dispatch_group_ente…
一.前言 在移动开发中,检测网络的连接状态尤其检测网络的类型尤为重要.本文将介绍在iOS开发中,如何使用Swift检测网络连接状态及网络类型(移动网络.Wifi). 二.如何实现 Reachability.swift 是一个使用Swift写的第三方网络检测类,可以用来检测网络连接状态及网络类型(移动网络.Wifi)功能. 三.如何使用 1. 使用Cocopod安装Reachability.swift use_frameworks! pod 'ReachabilitySwift' 2. 基本使用代…
1.首先iOS开发证书显示"此证书的签发者无效".是因为WWDR Certificate证书过期导致的,须要更新WWDR Certificate证书! 1)下载最新WWDR Certificate证书 WWDR Certificate证书下载地址:https://developer.apple.com/certificationauthority/AppleWWDRCA.cer 下载完,双击打开安装 安装后又一次查看iOS开发证书.依旧显示"此证书的签发者无效",什…
问题情况 在IOS系统下,下载安装或者更新新版的京东相关app之后,打开app直接就是“网络请求失败,请检查网络设置”,无论是数据连接还是wifi都试了,都是网络请求失败. 然而打开无线局域网-使用无线局域网与蜂窝移动的应用…却找不到手机京东这个对应的app.这是什么原因呢???!!卸载重装还是这个老样子! 解决办法 1.先进入那个“使用无线局域网与蜂窝移动的应用”的界面,随便把某个应用的的联网权限改成别的. 2.再次打开京东这个app,系统就会提示你选择联网权限,选择允许. 3.回去“使用无线…
在开发过程中,不知你有没有碰到过在一个页面 用到了多个网络请求,而且根据业务需求,需要有次序的执行A B C 网络请求? 你可能会想到,我在A的请求成功回调里去处理B,在B的回调里去请求C,但你后来会发现整个页面的网络请求逻辑已经乱套了.因为往往在网络请求之后会去做一些UI界面的操作. 那应该如何高质量的处理这种情况呢?请往下看: 在前段时间里.我也碰到了这种情况.而我想到的是通过两种方式来解决(不敢独享所以希望能帮到需要的人): 1.通过信号量来实现(信号量就三个函数dispatch_sema…
前言:现在已经不像以前那样只有一个尺寸,现在最少的IPHONE开发需要最少需要适配三个尺寸.因此以前我们可以使用硬坐标去设定各个控件的位置,但是现在的话已经不可以了,我们需要去做适配,也许你说可以使用两套UI或两套以上的UI,但那样不高效也不符合设计.IOS有两大自动布局利器:autoresizing 和 autolayout(autolayout是IOS6以后新增).autoresizing是UIView的属性,一直存在,使用也比较简单,但是没有autolayout那样强大.如果你的界面比较简…
描述: ASIHttpRequest是应用第三方库的方法,利用代码快,减少代码量,提高效率 准备工作: 一.导入第三方库ASIHttpRequest 二.会报很多的错,原因有两个,一个是要导入Xcode中自带的四个文件,一个是他没有使用自动引用计数 三.解决方案 1.导入四个系统文件,分别是 MobileCoreServices.framework SystemConfiguration.framework CFNetwork.framework libz.1.2.5.dylib 2.手动关掉自…
iOS 实时判断网络状态 方法一:利用系统状态栏判断网络状态 // 状态栏是由当前app控制的,首先获取当前app UIApplication *app = [UIApplication sharedApplication]; NSArray *children = [[[app valueForKeyPath:@"statusBar"] valueForKeyPath:@"foregroundView"] subviews]; int type = 0; for…
导入头文件:#import "Reachability.h" 然后将 SystemConfiguration.framework 添加进工程: 1.检查当前的网络状态(wifi.WAN还是无网络) NetworkEnvironment.h: #import <Foundation/Foundation.h> #import "Reachability.h" @interface NetworkEnvironment : NSObject /** * @b…
关于使用UIImageView显示一串图片组成动画效果的总结: 1>创建装这一串图片的容器,使用NSArray NSMutableArray *images = [NSMutableArray array]; 2>使用NSBudle类载入进来图片,然后每次载入进来一个图片就赋给一个UIImage对象,(注意:使用这个类载入进来的图片能够清除缓存,可是其它方法载入比方  UIImage *image = [UIImage imageNamed:fileName];方法载入的无法清除缓存. ) N…
UILabel*label; //设置换行 label.lineBreakMode = UILineBreakModeWordWrap; label.numberOfLines = ; 换行符还是“\n” 比如NSString * xstring=@"lineone\nlinetwo" 如果内容是从HTTP返回数据,且换行失败,可以考虑用以下方法测试: NSString *myNewLineStr = @"\n"; myLabelText = [myLabelTex…
1.在Project设置,加入中英两种语言: 2.新建Localizable.strings文件,作为多语言相应的词典,存储多种语言,点击右側Localization,勾选中英: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGxlYXNlY2FsbG1ld2h5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" /…
AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager]; [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { switch (status) { case AFNetworkReachabilityStatusUnknown: // 未知网络 case AFNetworkR…
首先创建一个引导图的控制器类 UserGuideViewController.h和UserGuideViewController.m #import <UIKit/UIKit.h> #import "firstViewController.h" #define WIDTH self.view.frame.size.width #define HEIGHT self.view.frame.size.height @interface UserGuideViewControll…
前言:VFL是苹果公司为了简化Autolayout的编码而推出的抽象语言.对于纯代码发烧友,值得我们去学习和了解哦. 1.什么是VFL语言 VFL全称是Visual Format Language,翻译过来是“可视化格式语言”. 2.VFL使用示例: H:[cancelButton(72)]-12-[acceptButton(50)] canelButton宽72,acceptButton宽50,它们之间间距12 H:[wideView(>=60@700)] wideView宽度大于等于60po…
@我前几天写的"秘密"的Cell制品的效果,想要的效果还是有差距,并且扩展性非常不好,于是重写封装,把总体视图都放到scrollView中,基本是和secret app 一模一样的效果了. @代码例如以下:(模糊效果的类就不写了,大家能够搜"UIImage+ImageEffects",还要导入Accelerate.framework) 1.MTSecretAppEffect.h #import <Foundation/Foundation.h> @int…
直接设置tabBarItem.badgeValue没有效果,找原因半天发现ViewController被NavigationViewController包着 需这样设置才行: self.navigationController.tabBarItem.badgeValue = [[NSString alloc]initWithFormat:@"%d",count]; 1. 如果有数字,直接使用 viewController.tabBarItem.badgeValue = @"1…
原理 FPS的计算 CoreAnimation有一个很好用的类CADisplayLink,这个类会在每一帧绘制之前调用,并且可以获取时间戳.于是,我们只要统计出,在1s内的帧数即可. - (void)envokeDisplayLink:(CADisplayLink *)displayLink{ if (_lastTimestamp == -1) { _lastTimestamp = displayLink.timestamp; return; } _countPerFrame ++; NSTim…
之前目录性的总结了发表过的关于OC方面的文章,今天在目录性的总结一下有关iOS开发的文章.走过路过不要错过哦,今天的博文也全都是干货.写技术博客与大家交流一下思想也是不错的. 下面是我的技术博客中有关iOS开发的内容,有初级部分也有高级部分,有旧的东西,也有新的东西.咸蛋就先扯到这儿,正文走起: 我的iOS系列博文如下:   01.iOS开发之简单音频播放器 02.iOS开发之视图和视图控制器 03.iOS开发之绝对布局和相对布局(屏幕适配) 04.iOS开发之自动布局显示网络请求内容 05.i…
IOS开发和Web开发一样,网络请求方式包括Get和Post方式.Get和Post两者有和特点和区别,在本篇博客中不做过多的论述,本篇的重点在于如何GET数据和POST数据.下面还会提到如何在我们的项目中使用CocoaPods, CocoaPods的安装和使用教程请参考链接http://code4app.com/article/cocoapods-install-usage.上面详细的介绍了CocoaPods的安装过程和如何通过CocoaPods引入第三方类库.在本篇博客中提到CocoaPods…
做iOS开发,说到网络请求,大家可能都不约而同的提到AFN,可以说大家的网络请求都是用AFN封装而成,AFN的强大易用的确很好. 但是版本升级就会出现一些问题,所以就自己基于iOS原生封装了一个网络请求的静态库,让你一行代码实现网络请求. 基于原生的iOS封装的GET和POST网络请求,一行代码即可实现,基于原生封装,使用简单方便. 使用方法: 1.下载该静态库并导入 https://github.com/YouZhiZheShiJingCheng/YZNetWork 2.配置工程 TARGET…
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession 数据请求 文件上传 文件下载 会话 UIWebView 浏览器实现 UIWebView与页面交互 网络状态 Web请求和响应 使用代理方法 做…
在上一篇博客中山寨了一下新浪微博,在之后的博客中会对上一篇代码进行优化和重用,上一篇的微博请求的文字中有一些表情没做处理,比如带有表情的文字是这样的“我要[大笑],[得意]”.显示的就是请求的字符串,那么我们如何把文字在本地转换成表情呢?下面将要说一下显示表情的解决方案. 要用到的知识:IOS开发中的资源文件.plist, 可变的属性字符串,TextView和正则表达式的使用. 解决的整体思路:把源字符串同过正则匹配获取到每个表情的range, 再通过range获取元字符串中的表情字符串,如[哈…
转自唐巧的技术博客:http://blog.devtang.com/blog/2013/12/11/network-tool-charles-intr/ Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析. Charles是收费软件,可以免费试用30天.试用期过后,未付费的用户仍然可以继续…
简介 Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析. Charles是收费软件,可以免费试用30天.试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时.   相关厂商内容 知道创宇首席安全官黑哥分享黑客传奇 触控科技运维总监萧田…