ios
文章平均质量分 65
互联部落
喜爱移动互联网
展开
-
在ios中的按比例图片裁剪(自动根据你的imageView裁剪图片)
在我们写程序中,UIImageView 主要有fit(自动适合)和fill(全部铺满)2种。可如果你的imageView的大小与你拿到的图片尺寸不符合,(本地图片还好说,让美工做符合的图片就行了。如果是从服务器,例如优拍云上获取图片)如果使用fit,不会填满你的imageView,要是使用fill,图片会拉伸变形。这都是不可以的。所以我们可能会需要一个裁剪图片的函数,让它能够根据我的imageVi原创 2014-01-26 10:54:05 · 12129 阅读 · 2 评论 -
iOS小随笔
把平常遇到的一些小技巧和令人忽略的地方记下来,大家一起分享和共勉。这里写2个小问题.1) 在加载静态界面时。最明显的例子加载一个自定义cell的tableView。最好在你的自定义cell的.m文件中的init方法中加入者2行代码。[self.layersetShouldRasterize:YES]; [self.layersetRasterizationScale:原创 2014-03-18 14:55:03 · 991 阅读 · 0 评论 -
iOS随笔(二)
这里主要把我遇到的小问题再写三个出来。1)iOS获取当前日期的方法有时候我们需要获取系统当前的日期来做一些操作,用下面这个方法: NSDateFormatter* dateFormatter = [[NSDateFormatteralloc] init]; [dateFormatter setDateStyle:NSDateFormatterFullStyle]原创 2014-03-31 10:10:13 · 790 阅读 · 0 评论 -
为什么delegate 用 assign 而不使用 retain
循环引用所有的引用计数系统,都存在循环应用的问题。例如下面的引用关系:对象a创建并引用了对象b.对象b创建并引用了对象c.对象c创建并引用了对象b.这时候b和c的引用计数分别是2和1。当a不再使用b,调用release释放对b的所有权,因为c还引用了b,所以b的引用计数为1,b不会被释放。b不释放,c的引用计数就是1,c也不会被释放。从此,b和c永远留在内存中。这种情况,必须打断循转载 2014-04-11 13:51:55 · 566 阅读 · 0 评论 -
iOS (objective-c) 中的多线程互斥同步问题
在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题:1.原创 2014-04-11 18:10:10 · 838 阅读 · 0 评论 -
Objective-C 添加私有方法
在面向对象的开发中,一个很重要的原则就是不要暴露不需要暴露的东西。 在Objective-C中,在头文件中你只能声明类方法和实例方法,这意味着你所有的方法都要暴露在外边。其实在Objective-C中也可以来声明一个私有方法,这个方法只有本类可见,其他任何类都看不到,即使是继承于这个类的其他子类也无法看到。 方法也比较简单。原创 2014-04-11 18:31:50 · 843 阅读 · 0 评论 -
关于iphone大屏手机的适配问题
App适配iPhone 6/ Plus原创 2015-03-25 15:54:13 · 722 阅读 · 0 评论 -
subview在SuperView的bounds之外接收触摸信息。以及subview的响应
subview响应clipToBounds原创 2015-03-27 12:06:34 · 1704 阅读 · 0 评论 -
深拷贝与浅拷贝
copy/mutableCopy NSStringNSString *string = @"汉斯哈哈哈";// 没有产生新对象NSString *copyString = [string copy];// 产生新对象NSMutableString *mutableCopyString = [string mutableCopy];NSLog(@"string = %p copySt转载 2017-02-14 15:18:36 · 281 阅读 · 0 评论 -
NSTimer的循环引用
NSTimer的循环引用原创 2017-05-12 17:46:21 · 479 阅读 · 0 评论 -
自定义MPMoviePlayerController(手势控制提高音量和进度)
使用系统自定义的 MPMoviePlayerController。实现手势向上下滑动提高(降低)音量,手势向左右滑动控制快进和快退#import @interface KKBMoviePlayerController : MPMoviePlayerController@end#import "KKBMoviePlayerController.h"#import "AppDeleg原创 2014-03-18 14:29:26 · 5445 阅读 · 0 评论 -
将参数传给UIAlertView的 Delegate
首先说说我遇到的问题,我点击原创 2014-04-14 13:23:20 · 1974 阅读 · 0 评论 -
iOS随笔之获取可用空间及某个文件或文件夹的大小
最近要做一个下载视频的功能,要用到设备已用空间和剩余空间这个需求,在网上mark了下,自己实现了这几功能1.获得设备剩余空间大小的方法-(void)checkUsedDisk{ NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask , YES) obj原创 2014-03-05 14:43:38 · 1708 阅读 · 0 评论 -
分享一段ios中使用数据库的代码(创建,升级,增删改查)
这里有数据库的创建,升级,增删改查。以聊天信息作为例子演示chatInfo是存储聊天信息的类#import #import "sqlite3.h"#import "User.h"#import "ChatInfo.h"@interface DBHelper : NSObject{ sqlite3* db;//数据库句柄// @public DBHelper *inst原创 2014-01-26 11:37:55 · 753 阅读 · 0 评论 -
正则表达式全部符号解释
from:http://yirlin.cnblogs.com/archive/2006/04/12/373222.html字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。转载 2014-01-26 11:48:48 · 479 阅读 · 0 评论 -
关于UILabel自适应位置和高度大小的问题
好多朋友都对ios中不能自定义UIlabel不满,希望UIlabel能像安卓中那样可以根据文字长度和大小来自适应长度它的frame。提出这样的需求基本是设计人员提出的。因为当我们将UILabel自适应后,就可以在它后面加个小标示了,小图片了一类的。例如新浪微博的会员标识。就是跟在你用户名后面随着你用户名的长度和随时改变的。好了。闲话不多说,上代码。NSString *str = @"dfdsg原创 2014-01-27 10:39:40 · 1305 阅读 · 0 评论 -
iOS中UITableView学习笔记(一)
下面将会对UITableView这个在开发中基本都会用到的控件做一个详细的剖析和解释。这是一个专题,一篇文章当然是讲不完的。所以以后还会有好几篇文章专门去讲它。如果有一些代码或者demo的话,短的就直接粘过来了。或者会发到GitHub上。我刚开始接触的时候也是对tableView不是很了解。也是在网上找一些demo放过来直接用。后来接触的多了,慢慢就会去专研里面的东西。所以我奉行实用主义,用的多了原创 2014-01-27 16:40:45 · 924 阅读 · 0 评论 -
对iOS中序列化的一些理解(写入文件)
这周要往程序中加入缓存,最后决定用序列化直接将对象存入文件充当缓存。我使用的是archiveRootObject这个方法使用的序列化。archiveRootObject可以将IOS常见的NSData,NSArray等写入文件,也可以将你自己定义的类型(必须实现了序列和凡序列化的,即遵循NSCoding协议,encodeWithCoder和initWithCoder:方法)写入文件。原创 2014-02-21 16:29:43 · 986 阅读 · 0 评论 -
对iOS中内存处理的一些理解(retain,copy,assain,release,autorelease)
众所周知,iOS对内存的处理是很出色的,正因为它对内存的处理优化非常好,所以在有限的内存下系统运行的流畅性一直很不错。这里就对编程中对iOS里的retain,copy,assain,release,autorelease说一下我的个人理解。assign就是直接赋值,当数据为基础数据类型 (NSInteger,CGFloat)和C数据类型(int, float, double, char)时原创 2014-02-10 10:15:30 · 1287 阅读 · 0 评论 -
iOS中单例的用法
我们有些时候需要某一个实例贯穿程序始终,在多线程中经常用到单例。这里讲一下单例的用法。 单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式有2个优点一个是实例控制:Singleton 会原创 2014-02-10 16:59:14 · 757 阅读 · 0 评论 -
iOS中UITableView学习笔记(二)之cell重用
在学习笔记(一)中降到了如何创建一个cell和自定义cell。这里讲一下UITableViewCell的重用机制。UITableView会通过重用cell来达到节省内存的目的:通过为每个cell指定一个重用标识符(reuseIdentifier),即指定了单元格的种类,当cell滚出屏幕时,会将滚出屏幕的单元格放入重用的queue中,当某个未在屏幕上的单元格要显示的时候,就从这个queue中取原创 2014-02-11 10:22:05 · 1034 阅读 · 0 评论 -
分享一个自定义的中间凸起的tabBar
曾经遇到这样的需求,为了凸显中央选项卡的重要性,需要将tabbar的最中间的选项卡高度与其他的不同。为了实现这样的需求,用系统自带的tabbar是不能实现的。首先想过底部用自带的tabbar,然后中间放一个高出一块的图片button来实现,可是后来发现不可行,无法做到使选项卡栏隐藏后同步消失的问题。于是就重写了一个tabbar来实现上述的功能。这个demo我放到了github上ht原创 2014-02-12 16:24:02 · 5306 阅读 · 3 评论 -
swift中访问控制(fileprivate,private,internal,public,open)
1,private private访问级别所修饰的属性或者方法只能在当前类里访问。2,fileprivate fileprivate访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问。如果只在一个文件中,即使不在一个类中也是可以调用的3,internal(默认访问级别,internal修饰符可写可不写) internal访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。原创 2017-05-15 11:03:20 · 367 阅读 · 0 评论