关闭

iOS开发手机号正则表达式

几乎所有的项目都涉及验证手机号的格式是否正确,这就需要正则表达式来进行判断。- (BOOL)valiMobile:(NSString *)mobile { mobile = [mobile stringByReplacingOccurrencesOfString:@" " withString:@""]; if (mobile.length != 11) {...
阅读(69) 评论(0)

自定义日历

最近在做项目,遇到了日历需求,于是左思右想,决定自己写一下。本文在做日历有些取巧,算不上正统的思路,希望能为你打开一片新的天地。需求 正如你所看,需要做出公历和农历,同时需要设置周六日默认橘红色,点击某个日期,出现橘色背景同时文字发生颜色变化,然后可以切换日期,这里只能逐月切换,有兴趣的朋友可以修改一下,很容易修改。1> 对于日历,这里只需要知道每个月的第一天是周几即可,后面顺序排下来,然后知道这...
阅读(194) 评论(0)

iOS开发实现导航栏透明度渐变效果

最近做项目实现新的需求,初始状态导航栏透明,随着滑动的过程中,改变导航栏的透明度,逐渐颜色加深。 网上找到了两种解决方案。 第一种,通过研究导航栏的结构图,找出影响背景颜色的控件,对其进行控制改变。NavigationBar背后有一张类型_UINavigationBarBackground(UIImageView的子类)的视图,所以我们设置背景的时候就是设置的_UINavigationBarB...
阅读(396) 评论(0)

iOS开发中如何在View视图中获取到该视图的控制器

在项目开发中,经常会需要一种情况,在一个view类中,点击某个按钮,需要从UINavigationController中,push到下一个页面,但是单纯的view类,并不能实现该方法,所以需要通过传递链获取到控制器来完成。还有另一种情况,就是需要实现某个代理,就必须设置为控制器,这时候也需要用到。- (UIViewController *)viewController { for (UIVi...
阅读(118) 评论(0)

iOS中隐藏导航栏的方法

在实际项目中,很多时候会有这样的需求,不要显示导航栏,就是将指定页面的导航栏隐藏掉,其实实现方法很简单。 - (void)viewWillAppear:(BOOL)animated { self.navigationController.navigationBar.translucent = YES; [self.navigationController.navigationBar...
阅读(134) 评论(0)

封装星星评分视图

星星评分的核心是放置两张星星视图,一张灰色,一张黄色,灰色在下,黄色在上,默认平铺五颗灰色和黄色星星,然后从传入的评分来控制黄色星星的底部视图的宽度,而不是控制星星的样式,黄色和灰色星星从一开始到最后都没有变化,变化的只是放置星星的View的frame在变化。 RatingView.h 为外部使用该类提供一个属性,传入星星的评分,供展示使用。 @property(assign,nonatomi...
阅读(85) 评论(0)

自定义UISegmentControl控件

平时我们在项目开发中,对于一般的需求使用系统默认的按钮组控件即可完成。但是有的时候,由于用户的需求,默认控件既不美观也不是很实用,所以这里就自己封装一个稍微美观的控件。 SegmentView.h //定义block,用来传递点击的第几个按钮 typedef void (^PassValueBlock)(NSInteger index); 在.h文件中需要声明一个block用来传递点击按钮组...
阅读(73) 评论(0)

iOS开发关于某页面横竖屏切换的坑

我们在使用模态视图的时候,如果需要再接下来的页面可以进行横竖屏切换,就必须注意一个大坑,我查遍了网络,各种方法用尽了,终于想到了解决方案。 需求:   当前页面必须横屏显示,不能竖屏显示,模态视图弹出页面可以进行横竖屏切换。同时,该项目同时使用导航栏和工具栏。 解决方案:   关于横竖屏切换这方面,网上相关的解决方案很多,在这里不加以描述,我主要想说的是,网上的那些解决方案不一定能解决你项目...
阅读(433) 评论(0)

TableViewCell定制

在项目开发中,我们并不能一直使用系统默认的tableviewcell,有时候根据需求需要作出如下效果,那么该如何做呢? 其实我们只需要在cell.m文件中复写这个方法就可以实现了,然后根据自己的需要决定上下左右的间距。- (void)setFrame:(CGRect)frame{ frame.origin.x += 5; frame.origin.y += 10; fram...
阅读(104) 评论(0)

UICollectionView的在导航栏作用下控制台输出错误

错误来源:我在使用网上第三方轮播图(SDCycleScrollView)发现的一个问题,报了如下错误,查询资料发现这是collectionView在使用导航栏一不小心会出现的错误。使用collectionView时报错:2017-05-17 11:12:06.532 LEACOL[9434:101112] The behavior of the UICollectionViewFlowLayout...
阅读(119) 评论(0)

Cocoa基础模式-两阶段创建

两阶段创建两阶段创建模式将第一阶段(对象内存分配)与第二阶段(对象初始化)隔离开来。要有效的使用Cocoa必须遵从两阶段创建模式。动机  两阶段创建使程序员能在控制如何为对象分配内存的同时,为初始化实例提供了灵活性。两阶段创建在为Cocoa类创建子类的同时简化了实例初始化,并提供了简便的创建和初始化临时对象的方法。 未使用两阶段创建的缺点  在类方法中,初始化实例有很多缺点。分配和初始化合并在一起...
阅读(291) 评论(0)

高效Objective-C语法-字面量语法

NSString对象从Objective-C 1.0开始,有一种简单的方式能创建NSString对象,这就是”字符串字面量”,语法如下:NSString *str = @"hello word!";如果不用这种语法的话,就要使用常见的alloc和init来分配并初始化NSString对象。使用字面量语法能够缩短源代码长度,使其更为易读。字面数值NSNumber有时候需要将整数,浮点数,布尔变量存入O...
阅读(105) 评论(0)

iOS关于头文件的导入问题

关于import和@class的使用问题一.@class的出现可以适当减少编译时间,提高效率。现在假设有两个类,一个是Teacher类,一个是Students类。Teacher类#import #import "Students.h"@interface Teacher : NSObject@property (copy,nonatomic)NSS...
阅读(221) 评论(0)

MVC 设计模式

MVC模式介绍  一种可控制一切的模式。   将多个写作对象的大型群组划分为独立的子系统:模型,视图和控制器。 模型:为应用程序提供独特功能和信息存储。 视图:用于展示从模型中收集的信息,并为用户提供与此信息交互的方式。 控制器:作用是解除模型和视图之间的耦合。 小结  MVC模式可减少应用程序内部的耦合,但有时会增加复杂性。从长远角度来讲,清洗地隔离子系统能带来更多的回报,他可以减少维护...
阅读(102) 评论(0)

iOS进制转换

//tmpid 要转化的进制数 //length 要转化的进制长度 - (void)systemTmpid:(NSInteger)tmpid withLength:(int)length { NSString *a = @""; while (tmpid) { a = [[NSString stringWithFormat:@"%ld",tmpid%2] s...
阅读(127) 评论(0)
17条 共2页1 2 下一页 尾页
    个人资料
    • 访问:3681次
    • 积分:199
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类