iOS 开发编码收集
文章平均质量分 66
番薯大佬
码农一枚
展开
-
push栈中删除指定的controller视图控制器
当A视图控制器push到C视图控制器时,受条件影响,需要先push到B视图控制器,然后再由B视图控制器push到C视图控制器;最后C视图控制器pop回时,直接pop到A视图控制器,由下图所示:通常返回上一级视图控制器时,会使用到如下两个方法// 返回到上一级视图控制器[self.navigationController popToRootViewControllerAnimated:YES];/// 返回到指定的上一级视图控制器[self.navigationController popToV原创 2020-08-22 18:59:17 · 792 阅读 · 0 评论 -
__attribute__实现弃用方法或属性设置提示
自定义封装类,新增方法时,怎么设置老方法被弃用的提示?只要使用__attribute__((deprecated("xxx")))就可以实现示例如下:老方法被弃用+ (void)showMessage:(NSString *)message __attribute__((deprecated("Use showMessageAutoHide: instead.")));新方法+ (v...原创 2020-04-18 23:09:15 · 765 阅读 · 0 评论 -
iOS中gif图片的分解与显示
UIImageView遇到gif格式的图片能显示吗?不能。要让UIImageView中显示gif格式的图片应该怎么做?只有一种办法,那就是把gif图片分解成多张静态图片,然后放在一个数组里,并使用UIImageView的属性animationImages来显示。gif图片怎么分解成多种静态图片?代码示例- (NSArray *)imagesWithGif:(NSString *)gif...原创 2020-04-15 08:00:52 · 696 阅读 · 0 评论 -
UI视图的圆角设置
使用cornerRadius进行圆角设置UILabel *labelLayer = [[UILabel alloc] initWithFrame:CGRectMake(20, 20, 220, 80)];[self.view addSubview:labelLayer];labelLayer.backgroundColor = UIColor.greenColor;labelLayer.t...原创 2020-04-08 15:48:09 · 1084 阅读 · 0 评论 -
iOS 13适配——暗黑模式
iOS13有什么亮点?iOS 13.0正式版发布以来,最大的亮点还是新增的支持Dark Mode(暗黑模式)。暗黑模式可以有效地舒缓眼睛?我觉得更多的是心理上的安慰。原理上来说暗黑模式仅仅是关闭了背景亮度,同时调整了可视内容的颜色,比如暗黑模式下文字以白色为主等等。它实际上并没有改变屏幕的“频闪”问题,当你长时间看屏幕的时候依旧会有视觉疲劳的症状。当然,暗黑模式也让用户在暗黑的环境下更友...原创 2020-03-14 23:20:07 · 2192 阅读 · 0 评论 -
Bmob 后端云示例1 用户注册登录及修改用户信息
Bmob 后端云推荐链接 :https://www.bmob.cn/?invite_code=$W8S推荐码:$W8S使用 Bmob 后端云,不用自己写 API 接口,只需要定义数据表及相关字段即可实现用户注册、登录、修改用户信息功能。具体怎么创建应用,大家看官网介绍就行,这里简单说下数据表。创建应用后,应用中的云数据库默认存在一个用户表_User,且相应的存在一些默认字段,如:帐号...原创 2020-02-09 11:16:03 · 1491 阅读 · 0 评论 -
字符点击效果实现——YYLabel和YYTextHighlight
在字符串中,指定某字符子串的交互效果,使用YYLabel和YYTextHighlight进行设置NSAttributedString来实现。效果图代码示例实例化YYLabelYYLabel *label = [[YYLabel alloc] initWithFrame:CGRectMake(10, 10, (self.view.frame.size.width - 20), 100)];...原创 2020-01-02 14:01:22 · 2412 阅读 · 0 评论 -
App应用系统截屏提示UIApplicationUserDidTakeScreenshotNotification
App 的界面,如果是信息相对敏感的,可能存在被三方截屏、录屏软件截取的风险。可以通过获取系统截图通知进行提示当前使用用户。实现原理是使用通知,即获取系统截屏时的通知UIApplicationUserDidTakeScreenshotNotification,并执行相关的方法。代码示例如下:- (BOOL)application:(UIApplication *)application di...原创 2019-12-25 10:03:01 · 2487 阅读 · 0 评论 -
UICollectionView的使用(补充)——大小间距
1、行间距示例代码1)协议方法实现- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{ retu...原创 2019-12-10 19:12:18 · 747 阅读 · 0 评论 -
SYLogManager实时日志
SYLogManagerlog日志查看工具。特点:log日志实时显示log日志显示时,可设置界面交互,或禁止界面交互log日志缓存在本地log日志可复制,并粘贴到其他应用,如微信,QQ 等log日志可发送邮件log 日志可清空log 日志除自定义信息外,还定制实现了 crash 信息,并显示相关的设备等信息。查看日志按钮可拖动的任意位置使用介绍自动导入:使用命令p...原创 2019-12-09 01:05:09 · 250 阅读 · 0 评论 -
后台任务列表 App 界面模糊处理
App 进入后台后,在任务列表中显示时,将 App 的页面进行模糊化处理,效果示例图如下所示:实现原理,即在AppDelegate 中设置UIVisualEffectView,示例代码如下:// 定义属性@interface AppDelegate ()@property (nonatomic, strong) UIVisualEffectView *effectView;@end...原创 2019-12-09 00:21:40 · 6247 阅读 · 0 评论 -
自定义捕获异常 crash信息日志
// 1 定义异常捕获函数// 获得异常的C函数void readException(NSException *exception){ // 设备信息 NSString *deviceModel = [NSString stringWithFormat:@"设备类型:%@", UIDevice.currentDevice.model]; NSString *devic...原创 2019-12-06 01:00:31 · 1090 阅读 · 0 评论 -
URL Scheme设置网页跳转打开App
1、设置2、代理方法/// 打开Appstatic NSString *const identifierScheme = @"UrlSchemeControl://";/// 打开App 并跳转到指定页面static NSString *const identifierSecond = @"UrlSchemeControl://second";/// 代理方法- (BOOL)a...原创 2019-11-22 18:37:13 · 2618 阅读 · 0 评论 -
UITabBarController视图切换时,界面跳动
使用UITabBarController做根视图控制器, 且有些UIViewController隐藏UINavigationController时,在切换视图控制器时,会出现页面跳动情况。原因在于设置隐藏或显示时,设置了动画为YES,如:- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; ...原创 2019-10-22 13:56:35 · 566 阅读 · 0 评论 -
UIScrollView使用常见问题
1、UIScrollView中多个子视图,拖动手势向左或向右滑动时,出现不规划拖动。解决:首先确保只设置了横向或垂直方向的contentSize;其次,如果设置了横向滑动,则禁用垂直滑动,反之则彬横向滑动。代码示例// 横向滑动self.scrollView.contentOffset = CGPointMake(rowCount * self.scrollView.width, 0);...原创 2019-10-22 10:34:28 · 262 阅读 · 0 评论 -
UITabBarController的UIViewController动态改变数量
UITabBarController的UIViewController动态改变数量,即在启动APP后,根据登录用户的权限不同,动态设置UIViewController的显示或隐藏。实现原理通过重置`UITabBarController`的`viewControllers`属性来实现。示例代码示例的实现是继承UITabBarController重写了一个BaseTabBarControl...原创 2019-10-14 16:52:34 · 1273 阅读 · 0 评论 -
iOS中创建自己的框架
如果你是IOS的新手,并有.net开发的背景(就像我一样),你可能到处去找,哪里有dll呢?其实,IOS平台是使用框架而不是dll,框架里面包含公共头文件和二进制文件。很不幸,XCode并不支持你自己去创建框架。对于一个开发人员,这是个大问题,b/c缺少框架,我们就不得不去创建一个静态库文件。但是使用lib文件是一件痛苦的事情。实质上,向工程添加库的引用,并告诉功能工程在哪里可以找到你的头转载 2014-05-16 17:17:16 · 987 阅读 · 0 评论 -
ios中layoutsubview何时被调用
layoutsubview和viewDidlayoutsubview(控制器)被调用的集中情况一:当view的frame或bounds发生改变1:直接改view的frame或bounds 会调用view中layoutsubview2:当屏幕旋转的时候,视图控制器中根view发生变化,会调用视图控制中viewDidLayoutsuview)二:在当前view上adds转载 2014-05-16 17:08:45 · 919 阅读 · 0 评论 -
iOS用户登录记住密码
登录 记录已登录用户步骤,存入偏好设置中存储放入一个数组。具体存储1:存储用户到偏好设置中,其中用户是一个数组 向服务器响应客户端后的一些操作 (如果响应数据成功)其中用户和密码是一一对应的 1.1先从沙盒中偏好设置中读取对应的用户集合 读取用户名: NSMutableArray *AccArys = [NSMutableArray array转载 2014-05-16 17:16:36 · 794 阅读 · 0 评论 -
ios中二维码的用法
网上的例子 zbar 下载地址 http://pan.baidu.com/share/link?shareid=2652605686&uk=9237761871.新建一个工程A:view-base 2.拖动zbar框架到工程目录下 3.然后把zbar/iphone目录下的工程.xproj文件拖到A 4.在工程的Link Binary添加框架如下: Step1转载 2014-05-16 08:29:28 · 597 阅读 · 0 评论 -
实例化UI的简单方法
在开发中,如果是编码来实例w原创 2014-05-22 18:16:14 · 1328 阅读 · 0 评论 -
开发中常用宏
// 获取屏幕宽度#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)// 获取屏幕高度#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)// 释放对象,进行内存管理#define SAFE_RELEASE(x) if(x){[x原创 2014-05-24 01:00:37 · 547 阅读 · 0 评论 -
图片转换成灰色图片
// UIImage转为灰度图// 其中,CGColorSpaceCreateDeviceGray会创建一个设备相关的灰度颜色空间的引用。- (UIImage *)getGrayImage:(UIImage *)sourceImage { int width = sourceImage.size.width; int height = sourceIma原创 2014-05-24 00:44:26 · 781 阅读 · 0 评论 -
截屏获取图片
// 对指定视图进行截图+ (UIImage *)screenShotView:(UIView *)view{ UIImage *imageRet = nil; if (view) { if(UIGraphicsBeginImageContextWithOptions != NULL) {原创 2014-05-24 00:42:15 · 545 阅读 · 0 评论 -
UI原点尺寸获取的简化方法
在开发中,经常会用到UI的坐标原点,或尺寸大小,通常原创 2014-05-23 11:22:39 · 681 阅读 · 0 评论 -
输入限制(输入字数)
在使用输入框时,不管是searchBar输入,还是textField输入,又或原创 2014-06-29 16:59:38 · 998 阅读 · 0 评论 -
时间字符串中如何获取年月日
如何通过已知的时间字符串获取所需要的年,月,日? NSString *timeString = @"2014-06-24"; NSDateFormatter *timeFormatter = [[NSDateFormatteralloc] init]; timeFormatter.dateFormat = @"yyyy-MM-dd";原创 2014-07-02 17:48:53 · 6717 阅读 · 0 评论 -
正则表达式之判断用户注册信息是否为汉字、字母和数字
String chinese = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$"; /**这个正则表达式用来判断是否为中文**///用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串String username = "^\\w+$";原创 2014-07-07 10:20:27 · 1272 阅读 · 0 评论 -
手机通讯录AddressBook的使用
一.基本知识和通讯录中联系人相关的应用iPhone提供了两个框架:AddressBook.framework和AddressBookUI.framework,使用这两个框架我们可以在程序中访问并显示iPhone数据库中的联系人信息。二.具体介绍1.AddressBookUI显示部分AddressBookUI中提供了和联系人显示信息相关的一些Controller,有四原创 2014-07-05 13:12:58 · 1191 阅读 · 0 评论 -
NSNotification通知类的使用
通过使用NSNotification通知类,可以实现一对多的传递关系,同时也能很好的避免类与类之间层层递进的关系。但是必须记得在使用过程中可能出现通知会被多次接收,并执行相关的方法,避免这种情况出现必须在接收通知前先移除要接收的通知。 步骤1 创建通知类的公共类.h文件 //// NotificationManager.h// DemoNotification/...原创 2014-07-11 14:41:27 · 933 阅读 · 0 评论 -
如何隐藏输入框键盘
共有三种方法方法1:放弃第一响应 [xxx resignFirstResponder];方法2:全局结束编辑 [[[UIApplication sharedApplication] keyWindow] endEditing:YES];方法2:全局结束编辑 [[[UIApplication sharedApplication] keyWindow] endEdi原创 2014-06-21 22:24:14 · 1039 阅读 · 0 评论 -
阴影设置
1、[xxxView.layer setShadowOffset:CGSizeMake(0.0, 0.0)]; // 阴影的偏移范围2、[xxxView.layer setShadowRadius:3.0]; // 阴影扩散的范围控制3、[xxxView.layer setShadowOpacity:1.0]; //原创 2014-06-21 22:25:10 · 612 阅读 · 0 评论 -
UITextView或UITextField字数限制
UITextView或UITextField字数限制,输入时的限制,复制粘贴时的限制字数限制有三种方法在代理方法“- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string”或“-原创 2014-06-21 22:33:55 · 1021 阅读 · 0 评论 -
scrollview上下滚动效果触发相关事件
scrollview上下滚动效果触发相关事件通过UIScrollViewDelegate的代理方法“- (void)scrollViewDidScroll:(UIScrollView *)scrollView”中通过变量最后的位置来进行上下滚动操作,如下代码所示:// 视图 按钮工具栏:上拉时隐藏,下拉时出现;- (void)scrollView原创 2014-06-21 22:27:58 · 1495 阅读 · 0 评论 -
UILabel标签自适应高度的设置
必须设置两个属性,属性1:多行显示“xxxlabel.numberOfLines = 0;”;属性2:换行模式“xxxlabel.lineBreakMode = NSLineBreakByWordWrapping;”;如果只显示固定行数,同样设置两个属性只是属性值不一样,设置属性1,即“xxxlabel.numberOfLines = 2;”;属性2:换行模式“xxxlabel原创 2014-06-21 22:26:32 · 796 阅读 · 0 评论 -
如何获得当前app的主视图
AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;UIView *view = [delegate window];原创 2014-06-21 22:23:02 · 732 阅读 · 0 评论 -
Xcode开发启动页设置
原创 2014-09-18 18:50:09 · 891 阅读 · 0 评论 -
长按手势多次弹出提示框异常
通过长按手势弹出提示框,会原创 2014-09-07 12:54:31 · 553 阅读 · 0 评论 -
字符输入限制(包含中文等限制)
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if (0 != string.length) { if ([inputTextfield isFirst原创 2014-09-30 17:07:52 · 1042 阅读 · 0 评论 -
计算两个时间的时间差(结果为秒)
//计算时间差 NSString *timeOne = @"2014-07-29 09:51:50"; NSDateFormatter *formatterDate = [[NSDateFormatter alloc] init]; formatterDate.dateFormat = @"yyyy-MM-dd hh原创 2014-09-30 16:15:54 · 1739 阅读 · 0 评论