- 博客(43)
- 问答 (1)
- 收藏
- 关注
原创 Xcode 11 Beta 问题汇总
CFBundleVersion 问题下载了Xcode 11 Beta 版后,运行以前的工程到模拟器,有可能发生CFBundleVersion不对的问题:The application’s Info.plist does not contain CFBundleVersion.Ensure your bundle contains a CFBundleVersion with a valid s...
2019-06-05 15:49:25 9413
原创 iOS10 UICollectionView不调用cellForItemAtIndexPath
在iOS10上,将vc的automaticallyAdjustsScrollViewInsets属性置为NO
2018-01-03 15:40:42 4458
原创 swift 自动布局(iOS9以后)
iconImageView.topAnchor.constraint(equalTo: self.topAnchor, constant: 13).isActive = true iconImageView.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true iconImageVi
2017-07-12 17:20:43 1246
原创 swift 懒加载
lazy var nameLb :UILabel = { let nameLb = UILabel.init() nameLb.translatesAutoresizingMaskIntoConstraints = false nameLb.font = UIFont.systemFont(ofSize: 12) nameLb.text
2017-07-12 17:19:39 344
原创 自动布局时高度算不准的问题
一般,自动布局自适应高度的控件,算不准高度的原因:时机问题。一般系统算高度的时候,应该是依赖了控件的宽度。 而添加了约束的控件,只有当view显示出来的时候,才会根据约束改变frame。 所以系统算高度的时候,约束修改的frame,并没有生效。所以解决问题的办法,就是在创建view的时候,设置一个frame的宽度给他,让他能知道这个控件的宽度,解决上诉的时机问题。
2017-05-02 13:26:58 673
原创 launchOptions利用userActivity呼起app设置
黑科技: 当不确定launchOptions是什么的时候,可以通过alert输出,然后查看!着重记一下userActivity呼起时,如何获取相关参数if (NSDictionary *userActivityDict = [launchOptions objectForKey:UIApplicationLaunchOptionsUserActivityDictionaryKey]) {
2017-02-22 17:51:34 1631
原创 通用链接universal links中遇到的问题
Universal Links 现在已经在不少的app中被使用,未来我认为,几乎全部的iOS应用都会使用此功能。在微信中直接呼起app,多稳,毫无违和感。关于universal links网上教程一篇篇的,大神们写的都很好,我也是参考其中的一些,才实现了这个功能,其中最好的教程当属wwdc上的视频了,由于英语水平有限,我对外语的教程是尽量拒绝的(因为没有字幕),但是看了之后才发现,真的是简单易懂。而
2017-02-20 10:49:08 12228 1
原创 UITableView进阶:在编辑状态时修改cell
继承自UITableViewCell的cell可以通过重写- (void)willTransitionToState:(UITableViewCellStateMask)state- (void)didTransitionToState:(UITableViewCellStateMask)state这两个方法来控制cell中的组件的变化,当tableview进入编辑状态时,方法名字也很易懂。我遇到
2016-12-26 16:19:10 3165
原创 一年级程序员期末总结
或许,我还没有完全脱掉学生的外套,但我早就习惯用年级来称呼自己了 回首16年,真的发生了不少事,记下来,当作鼓励,亦是警钟 这一年大部分时间是在北京度过的,毕竟工作嘛,实习期到5月底,基本上一直都在跟着需求走,来回修改页面上的问题,这段时间比较忙,也比较迷茫,来回往复的折腾一个东西,真的不是很懂,期间本身也有问题,安逸让我满足,对新技术及新知识的学习基本停滞。 以后我回学校毕业,花了两天写了
2016-12-23 15:55:30 347
原创 UIWindow相关
说道UIWindow,所有人都不会陌生,我们的第一个可视化iOS程序的显示,一定会用到UIWindow。 它就在这,谁也删不了。每一个iOS应用都至少有一个window: 1.它包含您应用的可见内容 2.它在将触摸事件传递到您的视图和其他应用程序对象中起到关键作用 3.它处理您的视图控制器的方向改变 以上3句摘抄字官方文档。除了是app的根视图以外,UIWindow还有很多用处,比如:
2016-12-20 16:55:15 337
原创 UITableView footerRefresh后闪烁的问题
发现,有时tableview执行footerRefresh后会产生闪烁,通过录屏发现是最顶部的cell,从底部快速移动到顶部所致(cell的backGroundColor为clearColor),解决方式是把tableview的style,设置为UITableViewStylePlain
2016-12-06 17:25:09 802
原创 iOS10后,部分自动布局(AutoLayout)布局出错的解决方法
问题的根源在于代码中用到了layoutIfNeeded这个方法, 从官方的Release Notes中,看出iOS10应该是更改了layoutIfNeeded的时机(说是修改了以前的release版本的bug,bug的内容是说:调用layoutIfNeeded的时候,不期望改变view的位置……)。 解决方法官方也给出了,就是调用[superView layoutIfNeeded],测试过,应该
2016-10-10 17:11:44 3173
原创 iOS10 新增语音转文字功能(Speech)
经典三段论SFSpeechRecognizer *recognizer = [[SFSpeechRecognizer alloc] initWithLocale:[NSLocale localeWithLocaleIdentifier:@"zh_CN"]]; NSURL *aURL = [NSURL fileURLWithPath:url]; SFSpeechURLRecogniti
2016-10-10 16:48:19 2061
原创 计算在UITableView中的UICollectionView的高度(自适应)(iOS10可用)
经过测试,单纯的写好UICollectionView的约束,然后reloadData,并不能让UICollectionView自适应,所以还要加点东西。关键点:获取UICollectionView的高度。 在tableViewCell中更新collectionView的数据源,然后[collectionView reloadData]; 然后利用collectionViewLayout.coll
2016-09-26 11:31:57 17167 7
原创 关于iOS Appearance的设置
UINavigationBar.appearance.tintColor 控制默认navigationBarItem上的文字的颜色, UIBarButtonItem.appearance.tintColor 控制由图片生成的BarItem的颜色, self.navigationBar.tintColor 利用controller的navigationBar的tintColor属性,可以修改不同c
2016-09-13 18:32:50 1362
原创 UITableView的一个小坑
- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated;这个函数,调用的是,UIScrollView的- (void)setContentOffset:(CGPoint)conte
2016-09-12 11:36:55 325
原创 UICollectionView 的一些坑
UICollectionView的初始化方法只有initWithFrame,所以不能根据reuseIdentifier区分类型。UICollectionView的cell,必须注册重用,不能直接设置cell返回UICollectionView.contentSize可能为错值注意cell重用产生的坑
2016-08-10 15:59:38 572
原创 iOS 深拷贝
NSArray* trueDeepCopyArray = [NSKeyedUnarchiver unarchiveObjectWithData: [NSKeyedArchiver archivedDataWithRootObject:oldArray]];利用序列化和反序列化实现完全深拷贝,其中注意点是集合中的每一个对象都要遵循NSCoding协议
2016-08-10 15:52:36 380
原创 关于NSOperationQueue的cancel
对于NSOperationQueue,只有add到NSOperationQueue的NSOperation才能够执行, 关于cancel,NSOperation的cancel 并不是立即取消掉,而是过一会, 最重要的是无论是NSOperation的cancel还是NSOperationQueue的cancelAllOperations,都不会停止正在执行的operation,只能取消在队列中等待
2016-04-21 17:22:34 1580
原创 UIButton文字在左图片在右、空心带边框
- (void)setImageOnRightWithImage:(UIImage *)image forState:(UIControlState)state{ [self setImage:image forState:state]; NSAttributedString *title = [[self titleForState:state] length] > 0 ? [[
2016-03-29 16:36:08 684
原创 tableViewCell 自适应行高的坑
在cell利用layout布局时,可以利用[self.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height来获得约束后的contentView的高度,但前提是cell.bounds = UIScreen.mainScreen.bounds;在iOS7下,如果存在cell高度随用户操作变化的情况,需在
2016-03-19 16:45:41 1133
原创 利用masonry添加约束的控件, 添加部分圆角
首先添加圆角的方式并没有变:- (void)setCornerOnTop{ UIBezierPath *maskPath; maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:(UIRectCorne
2016-03-07 13:20:13 8177
原创 不严谨,我不是一个合格的程序员
这周代码review的时候, 老大没怎么说我, 可能因为我还是实习生, 不过我特别自责, 因为里面有两处大漏洞,一. 我在改一个cell的布局的时候, 没有观察有几个页面复用了它, 直接改了, 改完提交之后发现基本所有页面的布局都出了问题, cell全都没有对齐, 当时我感觉就是完了, 可大家并没有怎么说我, 我知道他们心里不舒服, 我知道这是我写代码不严谨造成的, 我会记住这个教训, 改变我的思维
2016-03-05 17:26:20 656
原创 从事iOS开发工作3个多月的一点感悟
1.命名: 一个文件的命名要根据需求的可扩展性,慎重考虑. 方法命名,要跟实际含义基本误差别: 比如 : cityWithDefaultValue 和 defaultCity的区别, 前者表示一个有默认值的city, 后者表示默认city, 并不能混用. 命名要十分负责, 容不得一点马虎, 比如block做参数的时候, 可能会把方法命名成completion, completion表示一定会回调这
2016-02-25 12:27:28 577
原创 MVC
简单聊聊mvc,对于mvc,每个人都有自己的理解,这里仅仅是我个人的经验,入行小半年,也算有点经验了 首先mvc仍然是最合理的组织方式,毋庸置疑,一个良好的架构是一个app成功的前提,因为后期维护才是我认为的app的最为重要的一步,一个没有将来的app,是不可能走向成功的. 对于我们刚接触行业不久的人来说,最需要解决的,不是什么是mvc,mvc能干什么,而是mvc究竟应该怎么用,怎么写model
2016-02-03 17:33:19 345
原创 Git 使用心得
从本地新建仓库: cd 到想要创建仓库的文件夹 git init git remote add origin 加远程仓库地址 git add . git commit -m ” git push origin master(分支)从远程仓库创建: cd 到想要创建仓库的文件夹 git clone 加远程仓库地址修改commit: git gui合并commit: git reb
2016-01-29 16:17:12 346
原创 仿(现QQ)首页侧滑(抽屉)效果
先来一波效果 实现的原理是: 首先主控制器的view, 加了左控制器和根控制器的view, 方便定制这两个控制器,然后把左侧控制器的位置定到偏左侧,以便实现左侧控制器的一个递进出现的效果. 下面就是手势和动画: 一个panGesture,加到主控制器view上,translationInView:获得每次手势的偏移量,调整主控制器和左侧控制器view的位置,在pan.state == UIG
2016-01-26 11:21:41 688
原创 CATextLayer设置字体的正确姿势
深坑CATextLayer *textLayer = [CATextLayer layer]; textLayer.frame = CGRectMake(20, 50, 60, 78); //textLayer.font = (__bridge CFTypeRef _Nullable)([UIFont fontWithName:@"HelveticaNeue-Italic" size
2016-01-15 16:33:20 1520
原创 给UILabel中的文字加删除线
UIKIT_EXTERN NSString * const NSStrikethroughStyleAttributeName NS_AVAILABLE(10_0, 6_0); // NSNumber containing integer, default 0: no strikethrough//官方注释,NSNumber,默认值是0,不显示删除线增加删除线的方法:UILabel *label
2016-01-06 14:49:48 974
原创 超简单的UITableView下拉放大的动画
很多主流的app都会有这个动画,然后用最简单的思想实现了一下,就是按照tableView的contentOffset,直接进行缩放,效果还不错.#import "ViewController.h"#import <Masonry/Masonry.h>@interface ViewController ()<UITableViewDataSource, UITableViewDelegate>@p
2015-12-31 12:29:51 922
原创 NavigationController推出下一控制器同时pop自己本身
在UINavigationController中,经常会遇到在push下一级控制器时pop自己本身,这样在下一控制器pop时,就会直接回到上上级的控制器.UIViewController *newVC = [[UIViewController alloc] init];NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:
2015-12-30 10:12:28 479
原创 从view上截取部分图片
代码片中bg是一个imageView,UIGraphicsBeginImageContextWithOptions(bg.frame.size, YES, 1.0);//yes表示透明,1.0表示不进行缩放 [bg.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *bgImg = UIGraphicsGetI
2015-12-28 11:45:04 607
原创 Swift 利用UIScrollView和两个UIImageView实现图片轮滚
现在基本所有的app都带有图片轮滚的广告页面或者推荐页面,图片轮滚实现的方式有很多种: 最简单的一种,利用scrollView在前后各加一个辅助的imageView过渡,然后更改scrollView的contentOffset实现图片轮滚。第二种,利用三个imageView,add到scrollView上,一直显示最中间的imageView,每次滚动后,更改scrollView的contentOf
2015-12-11 18:17:40 1134
原创 利用AFNetworking上传图片
利用AFNetworking可以很容易的上传图片,下面备上代码以备不时之需,比如上传url为:http://…/accountmanagement/UploadFile 参数为:{“id”:”…..”,”file”:”…”}- (void)uploadImageWithName:(NSString *)name image:(UIImage *)image { AFHTTPRequestO
2015-12-10 16:10:25 597
原创 iOS点击UITableView的cell,弹出UIAlertController有时会出现延迟
这里出现延迟,是由于tableViewCell的selectionStyle设成了UITableViewCellSelectionStyleNone,将selectionStyle设成default就不会出现延迟了,延迟应该与界面本身没有发生UI变化有关...我猜测是由于runloop没有收到更新UI的事件,此时创建UIWindow,然后推出AlertController,runloop不
2015-12-09 18:16:03 3256 2
原创 Swift 限制UITextField字数的方法
首先利用UITextField的addTarget方法,监听UITextField的文字变化:textField.addTarget(self, action: "textDidChange:", forControlEvents: UIControlEvents.EditingChanged)然后实现textDidChange:方法,这里直接判断text的长度,在输入中文时会有坑,所以判读输入格式
2015-12-09 14:34:20 6349
原创 利用UITextField自定义搜索栏,实现中文输入过程中字母的搜索功能
当我们需要搜索功能时,我们首先想到的肯定是searchBar(当然我还只是个新手),但当我们需要在中文输入过程中搜索字母的时候时,searchBar就不好用了,只有当文字展示在searchBar上时,才会触发textDidChange的代理方法。 这时可以用UITextField自定义搜索栏,来实现我们的需求。 首先,先来实现searchBar成为第一响应者时搜索图标从中心移动到头部的动画:se
2015-11-27 17:21:47 3405
原创 给UILabel局部文字添加颜色
如果是整体加颜色的话,可以直接用NSAttributedString *attStr = [[NSAttributedString alloc] initWithString:str attributes:@{NSFontAttributeName:font,NSForegroundColorAttributeName:color}];然后调用UILabel的 setAttributedTex
2015-11-26 18:26:34 1707
空空如也
iOS NotificationContent Extension 相关问题
2018-01-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人