`
文章列表
NSURLProtocol的官方定义。 引用 An NSURLProtocol object handles the loading of protocol-specific URL data. The NSURLProtocol class itself is an abstract class that provides the infrastructure for processing URLs with a specific URL scheme. You create subclasses for any custom protocols or URL ...

ARC下KVO注意事项

    博客分类:
  • iOS
假设我们对A ViewController(暂时叫AVC)进行的一个属性P进行KVO.那么在AVCdealloc的时候,removeKVO,是没有问题的. 但是,如果我们对AVC中的一个组件B的属性进行KVO,在  AVC dealloc的时候去remove KVO,就有一定概率crash,crash信息就是KVO没有被移除,对象B却已经释放了. 在MRC的时候,我们可以这样写AVC的dealloc: - (void)dealloc { //remove KVO here //release B here [super dealloc]; } 我们手动 ...
多个线程在访问同一个非线程安全对象时,有可能会crash. 非线程安全对象:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Multithreading/ThreadSafetySummary/ThreadSafetySummary.html 解决crash的方法可以用threadDictionary或者加锁. 加锁会造成线程阻塞,用threadDictionary会造成内存增加.根据实际情况取舍. 用threadDictionary:不再访问同一个不安全的对象,而是每一个线程都拥有一个对象,既可以 ...
这里说的毛玻璃不是背景,而是文字以及按钮的毛玻璃效果.比如下图里副标题文字的颜色,他们的是有毛玻璃效果的,颜色会跟着背景而变. 最近被好几个人问到today插件的毛玻璃效果是怎么做的. 先上一张图,顺便为sina打打广告 在today插件里,想要毛玻璃,那些在本地app里使用的方法在today里都不管用了 (第三方的库和系统提供的毛玻璃方法以及toolbar). 这里需要用的是UIVisualEffectView. 代码: UIVibrancyEffect * effect = [UIVibrancyEffect notificationCenterVibrancyEffect]; ...

UIWebView自适应宽度

    博客分类:
  • iOS
  webview在手机上显示的内容经常非常宽,显示出来之后要手动缩放才能正常浏览。但如果用 [self.webView setScalesPageToFit:YES]; 则会被居中缩放的非常小,如图: (请无视我demo里的title。。。)   其实html本身有一个缩放的方法,可以在<head>里加一个节点: <meta name="viewport" content="initial-scale=1.0, minimum-scale=0.1, maximum-scale=2.0, user-scalable=yes\ ...
  装了iOS7的ip5的隐私设置里多了相机这一项(ip4装iOS7就没有)。 如果隐私里把你的app对应的相机给关了,那打开就会是个黑屏。因此要判断是不是出现了这样的情况。   第一反应肯定是去UIImagePickerController里找对应方法,然后以下2个方法看起来似乎非常满足这个需求: //这俩全不管用!!! [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]; [UIImagePickerController isCameraDeviceAvail ...
  如果JID的resource缺省,则登陆后XMPP服务器会自动分配一个resource,如tigase-10.由于XMPP是支持多点登陆的,所以不同客户端用同一个JID登陆后,服务器会为每一个客户端分配一个不同的resource以区分他们。比如A客户端的resource是tiga ...
由于工作需要,写了一个UITableView的子类,简单的实现了每个cell的展开和收缩的动画效果以及展开和收缩后的cell样式变化。这个效果也许你现在用不到,但是它在iOS上的效果确实很不错,也许以后你就会用到。分享给大家。给大家一个实际的效果: ExtensibleTableView.h // // ExtensibleTableView.h // Wow // // Created by Boris Sun on 12-6-20. // Copyright (c) 2012年 adsit. All rights reserved. // #import ...
    ITEYE从JAVAEYE改名已经时间不短了吧?我从做java的时候就已经习惯在这里写博客了。后来转做iOS以后依然习惯在这里,可是这么久了,ITEYE里也一直有iOS频道,却一直没有code="objective-c"的标签。让文章里的代码看着来很不爽。。。真心不准备提供么?真的很难么?
做iOS开发的时候有可能经常碰到莫名其妙的滑动不顺畅(在UIScrollView以及其子类)或者在navigation切换的时候不顺畅的问题,这很有可能是在界面中加了太多带圆角并且masksToBounds为YES的UIView而引起的。 暂时所有版本的api都没有解决这个问题。因此如果想要避免这个问题,只能放弃在UIView上加圆角,如果该View是用来显示图片的,则可以将该UIView上的图片本身加圆角。 static void addRoundedRectToPath(CGContextRef context, CGRect rect, float ovalWidth, ...
实现iphone漂亮的动画效果主要有两种方法,一种是UIView层面的,一种是使用CATransition进行更低层次的控制, 第一种是UIView,UIView方式可能在低层也是使用CATransition进行了封装,它只能用于一些简单的、常用的效果展现,这里写一个常用的示例代码,供大家参考。 [UIView beginAnimations:@"Curl"context:nil];//动画开始 [UIView setAnimationDuration:0.75]; [UIView setAnimationDelegate:self]; [UIView setA ...
IOS的sdk中MKMapView并没有提供得到当前地图zoom level的方法,本人google了好久,找到了一个方法来计算地图的zoom level,如下: #define MERCATOR_RADIUS 85445659.44705395 - (int)getZoomLevel:(MKMapView*)_mapView { return 21-round(log2(_mapView.region.span.longitudeDelta * MERCATOR_RADIUS * M_PI / (180.0 * _mapView.bounds.size.width))); } 我们 ...
产生原因是用了UINavigationController. 将UINavigationController的view作为subview添加到了其他viewController的view中。 或者把UINavigationController添加到UITabbarController中了。 此时,NavigationController的stack里面的viewController就收不到-(void)viewWillAppear:(BOOL)animated;等4个方法的调用。 原因还不敢确定,应该是这样的结构破坏了消息的响应链。导航控制器上层的viewController只是接受了导航控 ...
由于iOS无法通过html表单来上传图片,因此想要上传图片,必须实现http请求,而不能像其他语言那样通过html表单的post就能上传。 上传图片的http post请求的格式是这样的: Content-type: multipart/form-data, boundary=AaB03x --AaB03x content- ...
-------------添加设备到provisioning------------- 1,登陆https://developer.apple.com/devcenter/ios/index.action 图1: 2,右侧菜单选择“iOS provisioning portal”(必须开发者账号才能看到这个菜单) 图2: 3,在device菜单中点击add device,然后输入设备名称(自定义)和设备的UUID(itunes中可以查到),然后submit。 图3: 4,在provisioning菜单点击要添加设备的provisioning的edit选项。 5,在edit页面 ...
Global site tag (gtag.js) - Google Analytics