![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IOS
文章平均质量分 50
zm_dlf
这个作者很懒,什么都没留下…
展开
-
KVO
-(void)control{ self.person = [[Personalloc]init]; self.person.book = [[Bookalloc]init]; [self.personsetValue:@"lili"forKey:@"name"]; [self.personsetV原创 2015-12-08 17:28:08 · 213 阅读 · 0 评论 -
获取当前界面的ViewCotroller(使用UINavigationController)
在UINavigationController中有个viewControllers,这个返回的是一个NSArray,当界面在切换时,这个NSArray的最大值就是当前界面。下面这段代码是放在AppDelegate中的applicationDidEnterBackground方法中,是为了当程序进入后台后,判断是否是指定的ViewController,如果是则加载指定的ViewC原创 2016-01-21 17:27:53 · 5313 阅读 · 0 评论 -
Swift - 给按钮添加private的方法后,点击出错的问题
今天在项目中,给一个按钮添加点击事件,这个处理事件的方法不想暴露出去就设置了private,但在点击时出错。然后在网上搜了一下发现这片文章Swift中Selector方法的访问权限控制问题http://www.cocoachina.com/swift/20151023/13627.html原创 2016-01-29 11:38:45 · 321 阅读 · 0 评论 -
解决斜杠符号被转义的问题
今天在项目中碰到从别的app传过来的参数中带斜杠符号,在我这边获取后,斜杠就被转义了,通过下面的方法来获取正常的符号。+(NSString *)decodeString:(NSString *)encodedString{ NSString *decodedString = (NSString *)CFURLCreateStringByReplaci原创 2016-01-25 16:31:13 · 4418 阅读 · 0 评论 -
记录各种验证
/** * 验证手机号码 * * @param mobile 手机号 * * @return BOOL */+(BOOL)checkMobile:(NSString *)mobile{ NSString *regex =@"^((13[0-9])|(147)|(177)|(15[^4,\\D])|(18[0,5原创 2016-01-21 17:35:52 · 327 阅读 · 0 评论 -
Swift练习
Swift练习地址:点击查看2016-1-121、增加表格(简单)的显示 2、增加滚动试图(简单)的实现 3、界面跳转原创 2016-01-12 17:47:06 · 316 阅读 · 0 评论 -
Swift 懒加载
lazy var imageNameArray :ArrayString> =self.setupImage();func setupImage() -> ArrayString> { var array : ArrayString> = []; for index in原创 2016-01-12 09:43:58 · 276 阅读 · 0 评论 -
Swift 方法的形参写法
第三个写法在用时是省略的第一形参的名称,虽然是可以用,但这个方法会有警告,暂时不知道该怎么处理。原创 2016-01-29 15:28:35 · 537 阅读 · 0 评论 -
xib变成了代码界面的解决方法
在做东西时,点了下xcode界面的一个按钮结果xib的界面就变成了这样先搜了下网上,说是文件右击里的Open As里可以变回来,但是点击后里面是空的解决方法:第一步第二步最后界面还原原创 2016-01-30 11:17:40 · 1474 阅读 · 0 评论 -
让一个正方形View以四个角中的任意一角为起点放大或缩小
之前一直想要做这样的效果,结果昨晚一不小心就弄出了大致的样子,今天对代码进行了调整,下面是最终的效果。//缩放比例#define kDistance 1.5typedef enum{ BeginPointTypeLeftTop = 0, BeginPointTypeLeftBottom,原创 2016-03-01 11:40:54 · 534 阅读 · 0 评论 -
使用CABasicAnimation实现的动画效果(一)
这个动画采用了CABasicAnimation和CAAnimationGroup来实现的,改变位置、改变大小、按钮圆角数合在一起形成一个组合动画。原来是准备在CABasicAnimation中通过begintime来设置延时的效果,但效果不理想。代码部分:自定义按钮@interface MyButton : UIButton@prop原创 2016-03-16 11:44:43 · 2515 阅读 · 0 评论 -
GCD在子线程中更新UI出错记录
今天用GCD做东西,运行时提示下面的话,查找后发现是在子线程中更新UI出的错,改成主线程后就好了。原创 2016-03-04 13:44:41 · 259 阅读 · 0 评论 -
IOS 单选框
先放上基本的控制@interface RadioView : UIView@property (assign,nonatomic)BOOL isSelect; /*!<是否选中 */-(instancetype)initWithFrame:(CGRect)frame title:(NSString *)title;原创 2016-02-18 13:32:49 · 2455 阅读 · 1 评论 -
登录界面动画
代码部分@interface LoginViewController ()@property (strong,nonatomic)UITextField *nameTextField;@property (strong,nonatomic)UITextField *pwdTextField;@property (strong,nonato原创 2016-02-18 15:53:01 · 415 阅读 · 0 评论 -
原生二维码和条形码扫描代码
项目地址:点击进入二维码和条形码扫描的代码是从网上找到的,自己加了点样式,需要ios7.0。原创 2016-03-17 09:34:49 · 754 阅读 · 0 评论 -
用block替换代理
@interface MyView : UIViewtypedef void(^SuccessBlock)(NSString *log);@property (copy,nonatomic)SuccessBlock successBlock;- (void)clickOperationWithSuccessBlock:(Succe原创 2016-03-08 14:45:06 · 302 阅读 · 0 评论 -
GCD自己创建串行队列和并行队列
//创建串行队列 dispatch_queue_t myqueue1 = dispatch_queue_create("com.zhangm.a", NULL); //创建并行队列 dispatch_queue_t myqueue2 =dispatch_queue_create("com.zhangm.b",DISPATCH_QUEUE_C原创 2016-02-26 17:54:06 · 812 阅读 · 0 评论 -
在app中的链接到safari中打开
[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:inUrl]];原创 2015-12-08 10:18:05 · 3064 阅读 · 0 评论 -
计算文字的高度
NSDictionary *att =@{NSFontAttributeName:[UIFontsystemFontOfSize:fontSize]}; CGRect rect = [strboundingRectWithSize:frame.sizeoptions:NSStringDrawingTruncatesLastVisibleLine |NSString原创 2015-12-07 22:40:02 · 329 阅读 · 0 评论 -
当输入框用完后,需要弹出提示的话,会造成提示框关闭后键盘会闪现的问题
解决方法是if (IOS7 > 8.0) { UIAlertController *alertCtrl = [UIAlertControlleralertControllerWithTitle:msg message:nilpreferredStyle:UIAlertControllerStyleAlert];原创 2015-12-08 10:14:59 · 412 阅读 · 0 评论 -
IOS 数组去重及排序
NSArray *a1 = @[@"a",@"b",@"a",@"c",@"d"]; NSSet *set = [NSSetsetWithArray:a1]; a1 = (NSArray *)set; NSArray *a2 = [a1 sortedArrayUsingComparator:^NSComp原创 2015-08-18 16:25:48 · 376 阅读 · 0 评论 -
iOS 扫描上的层及其样式(一)
首先在一个view上扣出一个区域,显示下层view的方法UIView *v1 = [[UIViewalloc]initWithFrame:self.view.bounds]; [v1 setBackgroundColor:[UIColorblackColor]]; [v1setAlpha:0.8f];原创 2015-08-18 16:48:59 · 275 阅读 · 0 评论 -
iOS 扫描上的层及其样式(二)
这此是要实现图中红色的四个角原创 2015-08-18 16:57:33 · 286 阅读 · 0 评论 -
实现当tableview当向上滚动时,头部添加的view看上去不随向上滚动的效果
1、先添加一个view,y轴靠近导航控制器。CGSize size = [UIScreenmainScreen].applicationFrame.size; CGFloat x = 0; //获取导航控制器y轴的最大值 CGFloat y =CGRectGetMaxY(self.navigationController.na原创 2015-09-06 11:24:18 · 491 阅读 · 0 评论 -
用RunTime来防止按钮被多次点击
对于这个功能的实现是看了这个两个连接里的内容,主要是为UIButton增加一个延时的属性。1、http://www.cocoachina.com/ios/20150911/13260.html2、http://blog.sina.com.cn/s/blog_60342e330101tcz1.html我这边总共做了两个,一个是创建UIButton的子类来实现,另一个是创建UIButton原创 2015-09-21 13:22:35 · 609 阅读 · 0 评论 -
单例模式
这个是从视频中看来的,现在记录在这里 #import @interface Ticket : NSObject// 实例化票据的单例+ (Ticket *)sharedTicket;// 在多线程应用中,所有被抢夺资源的属性需要设置为原子属性// 系统会在多线程抢夺时,保证该属性有且仅有一个原创 2015-12-10 14:14:23 · 252 阅读 · 0 评论 -
UIViewController的生命周期
//只调用一次- (void)viewDidLoad { [superviewDidLoad]; [self.viewsetBackgroundColor:[UIColorwhiteColor]]; NSLog(@"view完成加载后 viewDidLoad");}#pragm原创 2015-12-13 10:00:34 · 212 阅读 · 0 评论 -
IOS 图片按比例缩小
/** * 保持原来的长宽比,生成一个缩略图 * * @param image 要调整的图片 * @param asize 目标尺寸 * * @return UIImage */- (UIImage *)thumbnailWithImageWithoutScale:(UIImage *)image size:(CGSize)a原创 2015-12-14 10:35:35 · 582 阅读 · 0 评论 -
UIScrollView的图片缩放(只加载一张图片的时候)
在苹果的官方文档中,必须实现下面两个代理方法1、-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView2、-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(C原创 2015-12-18 13:57:18 · 435 阅读 · 0 评论 -
NSUserDefaults的使用
/** * 将数据保存在NSUserDefaults中 * * @param dictionary 字典 */+(void)saveDataWithDictionary:(NSDictionary *)dictionary{ [[NSUserDefaultsstandardUserDefaults] setObject:di原创 2016-01-21 17:32:44 · 261 阅读 · 0 评论 -
实现按钮拖动到底部,与底部按钮互换的功能
自己尝试实现的一个功能,下载地址:https://github.com/coolzym/DragDockItem原创 2015-12-22 17:46:20 · 338 阅读 · 0 评论 -
UIScrollView循环滚动(前后各加一张图片)
#define IMAGECOUNT 6/** * 设置scrollView */-(void)setupScrollView{ CGRect rect = [UIScreenmainScreen].bounds; self.size = rect.size; self.sc原创 2015-12-07 15:36:16 · 363 阅读 · 0 评论 -
UIScrollView循环滚动(三张图片循环滚动)
@interface ViewController ()UIScrollViewDelegate>@property (strong,nonatomic)UIScrollView *scrollView;@property (assign,nonatomic)CGSize size;@property (strong,nonatomic)原创 2015-12-07 17:37:47 · 520 阅读 · 0 评论 -
IOS 归档和解档
先新建一个Person类定义三个属性@interface Person :NSObject NSCoding>@property (strong,nonatomic)NSString *name;@property (assign,nonatomic)NSInteger age;@property (assign,nonato原创 2015-12-08 14:03:59 · 455 阅读 · 0 评论 -
KVC
1、先建一个Person类和Book类@class Book;@interface Person :NSObject NSCoding>@property (strong,nonatomic)NSString *name;@property (assign,nonatomic)NSInteger age;@pr原创 2015-12-08 14:36:19 · 243 阅读 · 0 评论 -
Plist文件的读写操作
/** * 写入plist文件 * * @param writecontext 要写入的内容 * @param writeName 要写入内容的对应键 */+(void)writeToPlist:(ZMPlistKey)zmPlistKey name:(NSString *)writecontext{ NSA原创 2015-12-07 22:37:53 · 335 阅读 · 0 评论 -
测试手机端APP时,模拟网速慢的情况
在模拟器上要模拟网速慢的情况时,可以参考这篇文章,点击进入,很方便的。在手机端可以这样去用第一步:进入设置点击开发者第二步:点击NETWORK LINK CONDITIONER中的Status,默认是Off第三步:点击Enable启用,下面就是选择各种网络,然后就可以去测试了。(* 记住,在使用完后一定要关闭,否则会影响正原创 2016-03-28 11:30:42 · 2888 阅读 · 1 评论