iOS一周总结(一)

最近工作比较忙,所以也没有时间静下来沉淀一下。
为什么写博客,更重要的是对自己所学的东西的一种沉淀和记录吧。
1.UI给了你UI设计,文字对齐,比如用户名和密码,很多人选择中间空格输入,但是这样也是不对齐的,但是呢,关于NSString他还有一个近亲——NSAttributedString。在NSMutableAttributedString里有一个方法是<code>- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;</code>其中有很多name用于修改属性的,比如行间距啊,文章开头空两格啥的,当然,我们用的肯定是调整字据,里面有NSKernAttributeName这个name,其描述是这样的:"NSNumber containing floating point value, in points; amount to modify default kerning. 0 means kerning is disabled."就是用来调整字间距,如果是0表示禁用这个属性。所以我们只要这样写:

NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"密码:"];
[str addAttribute:NSKernAttributeName value:[NSNumber numberWithInt:20] range:NSMakeRange(0, 1)];
_passwordLabel.attributedText = str;

这样的话密码和用户名就可以对齐了。

2.项目有用到高斯模糊效果,不过之前没用过,于是百度了下,其实也没啥,在iOS8以上的版本里,系统有给相应的UIVisualEffectView专门用来做高斯模糊。

UIBlurEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *effectview = [[UIVisualEffectView alloc] initWithEffect:blur];
effectview.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
effectview.backgroundColor = RGBACOLOR(0, 0, 0, 0.4);
[self addSubview:effectview];

这样就可以做一个高斯模糊的背景效果了,然后在高斯模糊的背景效果上addview就好啦~!

3.关于NSArray的,每天都在用的一个东西,数组嘛,是吧。但是它包含了很多的API。功能特别强大。在做遍历的时候,简单点的,就是用for循环,但是代码很多。其次就是for in 循环,但是要创建一个参数记录index。但是有一个很高大上的方法:- (void)enumerateObjectsUsingBlock:(void (^)(ObjectType obj, NSUInteger idx, BOOL *stop))block NS_AVAILABLE(10_6, 4_0);这个可以顺序遍历,也可以逆向遍历,有obj也有index,功能相当强大。而且这个block是同步的,会阻塞当前线程。

4.是关于KVC的,这是iOS里的一种黑魔法,相信很多开发都偏爱KVC。
相对来说,可以直接根据valueForKey或者ValueForKeyPath可以去获取想要的值或者改变它。

5.今天遇到了tap手势和tableview和collectionView冲突了,当然tableview和collectionView的cell点击和tap手势有冲突的话,可以在UIGestureRecognizerDelegate里设置:

-(BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldReceiveTouch:(UITouch*)touch {
    if([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"] || [[touch.view nextResponder] isKindOfClass:[UICollectionViewCell class]]){
        return NO;
    }else{
        return YES;
    }
}

因为这边的collection view上有个subView ,所以可以利用手势的响应链去获取nextResponder

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.NSAttributedString的属性 2.NSInteger 与 NSUInteger NSUInteg...
    __夏至未至阅读 2,481评论 0 0
  • 工作还是比较忙的,在平时也是没时间总结和学习,不过身为一个程序员,如果想要进步,总结和学习还是很重要的~于是有了个...
    __夏至未至阅读 1,702评论 2 1
  • 自己到现在毕业一年,总结了自己在前段时间开发当中遇到的的一些细节问题,水平有限,希望有可以帮助大家的 1,在OC中...
    baixuancheng阅读 3,942评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,224评论 19 139
  • 大学曾学过电子商务,当时就深感那数行字符组成的程序的强大威力。但是等我步入社会,发现大众对于编程的认识实在稀缺。而...
    Sinead阅读 3,056评论 0 0

友情链接更多精彩内容