经验总结
LaurelYu
这个作者很懒,什么都没留下…
展开
-
ios开发:Xcode8制作framework及使用
作者:代培 地址:http://daipei.me/posts/make_framework_by_xcode8/ 转载请注明出处 我的博客搬家了,新博客地址:daipei.me前言网上关于Framework制作的教程数不胜数,然而都过于陈旧,最新的也是使用Xcode7的教程,而且有些设置也只给出步骤,并没有给出原因,而且按照有些教程制作出的framework还有些问题转载 2018-05-08 11:46:14 · 195 阅读 · 0 评论 -
正则表达式 判断手机号码是否合法
// 正则判断手机号码地址格式+(BOOL)isMobileNumber:(NSString *)mobileNum { // 电信号段:133/153/180/181/189/177 // 联通号段:130/131/132/155/156/185/186/145/176 // 移动号段:134/135原创 2016-06-01 16:48:43 · 2593 阅读 · 3 评论 -
iOS实现程序长时间未操作回到登录界面
大部分银行客户端都有这样的需求,在用户一定时间内未操作,即认定为token失效,但未操作是任何判定的呢?我的想法是用户未进行任何touch时间,原理就是监听runloop事件。我们需要进行的操作是创建一个UIApplication的子类,废话不多说,上代码#import // 定义未操作通知的时间,也可以从服务器上获取。#define kApplicatio转载 2017-12-19 17:12:24 · 1377 阅读 · 0 评论 -
tabbar navigation黑线的处理(隐藏及颜色修改)
// 去除tabbar顶部的线 [self.tabBarsetBackgroundImage:[[UIImagealloc]init]];// 去除navigationbar底部的黑线 [self.navigationBarsetShadowImage:[UIImagenew]];原创 2016-08-13 17:46:20 · 635 阅读 · 0 评论 -
解决手势与tableview点击事件冲突:
#pragma mark -解决手势与tableview点击事件冲突:- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ if ([NSStringFromClass([touch.viewclass])原创 2017-06-27 16:18:17 · 276 阅读 · 0 评论 -
给xcode添加相对应的模拟器支持,不用更新xcode
解压, 找到路径 Finder -> 应用程序 -> 右键Xcode7.3 ->显示包内容 -> Contents -> Developer -> Platforms -> iPhoneOS.platform -> DeviceSupport原创 2017-06-09 15:05:21 · 571 阅读 · 1 评论 -
iOS项目引用外界字体库
不管是windows字体,还是Android字体,只要是ttf格式的,一般iOS程序都支持内嵌。具体步骤也很简单:1.将ttf文件拖入项目中2.将ttf文件加入copy bundle resources3.在xib中可以判断是否引入成功或者使用代码判断是否引用成功int i = 0; for(原创 2017-03-10 17:14:58 · 637 阅读 · 0 评论 -
iOS10个实用小技巧
在开发过程中我们总会遇到各种各样的小问题,有些小问题并不是十分容易解决。在此我就总结一下,我在开发中遇到的各种小问题,以及我的解决方法。比较普遍的我就不再提了,这里主要讲一些你可能不知道的(当然,也有可能你都知道,大神就不必往下看了)1、控件的局部圆角问题 你是不是也遇到过这样的问题,一个button或者label,只要右边的两个角圆角,或者只要一个圆角。该怎么办呢。这就需要图层蒙版来帮转载 2016-11-01 16:34:05 · 334 阅读 · 0 评论 -
类似于QQ个人主页,NavigationBar透明渐变
#import "TableCell.h"#define SCR_WIDTH [UIScreen mainScreen].bounds.size.width@interface FMHomeViewController ()UITableViewDelegate,UITableViewDataSource>@property (s原创 2016-11-01 15:02:38 · 414 阅读 · 0 评论 -
Xcode8 插件失效不能用
详细步骤如下: 1、打开终端,输入 install update_xcode_plugins 如果有报错: 则继续输入以下命令并执行,否则跳过此步。sudo gem install -n /usr/local/bin update_xcode_plugins2、输入密码(默认是不可见的,直接输入)成功截图:3、接着再输入以下命运并执行,成功截转载 2016-11-01 14:37:22 · 2999 阅读 · 1 评论 -
点击 UITableView 隐藏键盘
// 触摸空白收起键盘 UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(fingerTapped:)]; [self.tableView addGestureRecognizer:singleTap];// 加上这句不原创 2016-10-19 12:50:45 · 457 阅读 · 0 评论 -
一级页面隐藏Navigationbar, 而二级页面就得打开navigationbar,显示出现的黑色阴影解决方案
在某种情况下,一级页面隐藏Navigationbar, 而二级页面就得打开navigationbar, 这种情况,如果采取默认的Viewwillappear中处理,则会出现大片黑色阴影,解决方案如下1.在一级页面写上下面这句- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated];原创 2017-06-07 15:34:14 · 884 阅读 · 0 评论 -
修改 UIImagePickerController 选择照片状态栏颜色及导航栏按钮标题字体颜色
// 更改picker的导航条颜色及item的tintcolor if ([picker.navigationBarrespondsToSelector:@selector(setBarTintColor:)]) { [picker.navigationBarsetBarTintColor:[UIColorblackColor]];原创 2016-10-24 10:25:18 · 6300 阅读 · 1 评论 -
ios检测用户输入密码是否以字母开头,6-18位数字和字母组合
/** * 检测用户输入密码是否以字母开头,6-18位数字和字母组合 *正则匹配用户密码6-18位数字和字母组合 * @param pattern 传入需要检测的字符串 * * @return 返回检测结果 是或者不是 */+(BOOL)detectionIsPasswordQualified:(NSString *)patternStr{ NSString *pattern ...原创 2018-05-09 11:40:53 · 3852 阅读 · 0 评论 -
ios11不走区头区尾告诉设置方法
//iOS11下必须加下面两个方法,否则不走区头区尾高度设置方法的,-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{ UIView *footView = [[UIViewalloc]init]; return footView;原创 2018-03-13 12:29:43 · 596 阅读 · 0 评论 -
获取当前年月日和周几
+(NSString*)getNowYear{ NSCalendar *calendar = [NSCalendarcurrentCalendar]; //2.获取当前年份, 月份, 号数 unsigned unitFlags =NSCalendarUnitYear |NSCalendarUnitMonth |NSCalend原创 2018-02-08 13:45:38 · 247 阅读 · 0 评论 -
加密的UITextField在重新输入密码时,总会clear之前的内容
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSString *updatedString = [textField.textstringByReplacingChara原创 2018-02-08 13:19:36 · 1143 阅读 · 0 评论 -
触摸空白收起键盘,不影响tableview的响应
1.// 触摸空白收起键盘 self.view.userInteractionEnabled =YES; UITapGestureRecognizer *singleTap = [[UITapGestureRecognizeralloc] initWithTarget:selfaction:@selector(fingerTapped:)];原创 2018-02-08 12:30:26 · 751 阅读 · 0 评论 -
修改placeholder字体颜色及大小
[textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"]; [textField setValue:[UIFont boldSystemFontOfSize:16] forKeyPath:@"_placeholderLabel.font"];原创 2018-02-27 16:00:56 · 1356 阅读 · 0 评论 -
rsa公钥私钥终端生成命令生成
openssl 进入控制台1.//私钥生成方法 genrsa -out private_key.pem 10242.//公钥生成方法 rsa -in private_key.pem -pubout -out public_key.pem3.生成PKCS8 编码的私钥输入命令“pkcs8 -topk8 -原创 2017-09-27 11:04:22 · 2823 阅读 · 0 评论 -
UITextField不超过20字符
[_beiZhuFieldaddTarget:selfaction:@selector(textFieldDidChange:)forControlEvents:UIControlEventEditingChanged];- (void)textFieldDidChange:(UITextField *)textField{ if (t原创 2016-10-18 17:44:39 · 450 阅读 · 0 评论 -
修复UIImagePickerController偷换StatusBar颜色的问题
// UIIMagePickerController使用中偷换StatusBar颜色的问题- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)原创 2016-10-24 10:19:54 · 349 阅读 · 0 评论 -
判断是否是邮箱
//判断是否是邮箱+ (BOOL) isValidEmail:(NSString *)checkString{ NSString *Regex =@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicatepredicateWi原创 2016-06-01 16:50:36 · 828 阅读 · 0 评论 -
头部下拉放大(控件随着变化并透明)
define KScreen_Width [UIScreen mainScreen].bounds.size.width#define KScreen_Height [UIScreen mainScreen].bounds.size.height#import "ViewController.h"const CGFloat B原创 2016-06-01 15:46:32 · 449 阅读 · 0 评论 -
cell圆角效果的绘制
圆角的cell,之前iOS 6的时候是这种的(拟物),iOS 7 (扁平化)之后就进行了修改!主要的实现在tableView的代理方法中 - (void)tableView:willDisplayCell: forRowAtIndexPath: ,绘制table view cell 的背景view。下面的代码,你可以直接拷贝到控制器中演示效果,如果要集成到你自己的代码中,你需要把转载 2016-06-01 15:40:09 · 1431 阅读 · 0 评论 -
iOS横竖屏转换问题
首先需要处理根视图 假如是navgationcontroller 写一个类继承与uinavgationcontroller 在这个子类中下以下代码;#pragma mark - 只能竖屏设置同时要在nagation和tabbarviewcontroller里面做相应的设置- (BOOL)shouldAutorotate{ return原创 2016-05-17 10:11:20 · 410 阅读 · 0 评论 -
解决warning: directory not found for option:xxxxxx的警告
工程提示: warning: directory not found for option:xxxxxx这种提示,通常是由于添加了第三方SDK,但是后来改了个名字或者去掉了SDK,但是在Build Settings----->Search Paths----->Library Search Paths 中仍然没有删除掉对应的路径,所以要到Library Search P原创 2016-05-16 13:44:37 · 972 阅读 · 0 评论 -
tableView 分割线左边短15像素问题
ios7中,UITableViewCell左侧会有默认15像素的空白。设置setSeparatorInset:UIEdgeInsetsZero 能将空白去掉。ios8中,setSeparatorInset:UIEdgeInsetsZero 的设置已经不起作用了。下面是解决办法,首先在viewDidLoad方法加入以下代码:if ([self.tableView respon转载 2016-05-25 17:46:56 · 286 阅读 · 0 评论 -
tabbar小细节
1.从storyboard得到tabBarItem并对其设置选中等各个状态建立一个tabbarController并和故事版关联之后利用得到对用item 对其进行操作UITabBarItem *item1 = self.tabBar.items[0]; 2.得到tabbar左边图片 右边文字更改图片和文字位置vc.tabBarItem.image原创 2016-04-17 15:10:52 · 383 阅读 · 0 评论 -
webView使用小技巧
1.webView 适应屏幕大小_webView.scalesPageToFit = YES;2.webView加载html数据 NSString *resourcePath = [NSString stringWithFormat:@"<!DOCTYPE html>Title%@",self.detailModel.GaiShu];原创 2016-04-17 14:37:32 · 243 阅读 · 0 评论 -
ios简单的清除缓存代码
清除缓存 下面是清除图片缓存SDImageCache webview也有自己的清除缓存的方法1.清除缓存 把缓存存在默认cache中把缓存量显示出来self.Clear.text = [NSStringstringWithFormat:@"%.2fM", [selfgetCacheSize]];清除缓存[[SDImageCachesharedI原创 2016-04-17 14:34:18 · 1547 阅读 · 1 评论 -
判断是否是身份证
//判断是否是身份证+ (BOOL)isValidIdCard:(NSString*)idCard{ NSString*regex =@"^\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x)$"; NSPredicate *idPre = [NSPredicatepredicateWithFormat:@"SELF MATC原创 2016-06-01 16:51:34 · 433 阅读 · 0 评论 -
获取当前版本号
// 获取当前版本号+ (NSString *)getVersion{ NSString *version = [[[NSBundlemainBundle] infoDictionary]objectForKey:@"CFBundleShortVersionString"]; return version;}原创 2016-06-01 16:52:15 · 299 阅读 · 0 评论 -
xcode8的一些变动
一、证书管理用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书。建议大家勾选这个Automatically manage signing(Ps.但是在beat2版本我用的时候,完全不可以,GM版本竟然神奇的又好了。)QQ20160913-8.png-96.9kB下面我来说说可能会出现的问题:1.Xcode未设置开发者转载 2016-09-22 13:38:54 · 970 阅读 · 0 评论 -
状态栏字体颜色控制
1.在info.plist 增加字段View controller-based status bar appearance并设置为yes2.在自定义customTabbarViewController里面设置- (UIStatusBarStyle)preferredStatusBarStyle { returnself.selectedViewController.p原创 2016-06-01 16:18:07 · 364 阅读 · 0 评论 -
大文件分片上传和断点续传
总结一下大文件分片上传和断点续传的问题。因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况。http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件切片(分块),但这不是我们现在说的重点,我们要做的事是保证在网络中断后1G的文件已上传的那部分在下次网络连接时不必再重传。所以我们本地在上传的时候,要将大文件进行分片,比如分成1024*1024B,即转载 2016-08-23 14:41:14 · 13241 阅读 · 0 评论 -
iOS判断是否有权限访问相机,相册,定位
1.判断用户是否有权限访问相册#import ALAuthorizationStatus author = [ALAssetsLibraryauthorizationStatus];if (author == kCLAuthorizationStatusRestricted || author ==kCLAuthorizationStatusDenied)转载 2016-08-09 11:05:08 · 1321 阅读 · 0 评论 -
airplay按钮
自定义一个全局的button,然后添加MPVolumeView拿到里面的button进行更换。 MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(260, 407, 40, 40)]; [volumeView setShowsVolumeSlider:NO];原创 2016-08-30 10:05:26 · 1304 阅读 · 0 评论 -
获取当前ViewController
获取当前所在viewController适用于后台进入前台情况#pragma mark - 得到当前所在viewController-(UIViewController *)currentViewController{ UIWindow *keyWindow = [UIApplicationsharedApplication].ke原创 2016-08-03 13:34:31 · 1251 阅读 · 0 评论 -
iOS 通过(lame)将录制音频转换成Mp3
#import "lame.h"//引入libmp3lame.a#pragma mark - caf文件转换成MP3格式/** * * @param cafPath caf文件地址 * @param mp3Path mp3文件存放地址 */+ (void)cafToMp3:(NSString *)caf转载 2016-07-08 16:31:10 · 553 阅读 · 0 评论