纳兰若水


  • 首页

  • 归档

  • 分类

  • 标签

五月五-奥森徒步狼人杀

发表于 2018-05-05 | 分类于 游记

时间:2018-05-05
地点:北京
行程:奥林匹克森林公园 -> 军事博物馆 -> 玉渊潭 -> 北京大学
活动类型:休闲、游玩
原计划:10位小伙伴8:30在奥森公园地铁站D出口集合,园内稍作徒步然后择一处林荫草地,铺上垫子,放上零食,自我介绍互相认识之后就开始众人期待的狼人杀。
突发情况:叮铃铃,叮铃铃…几位小伙伴在出发当天早6点收到处理bug加班电话,无奈工作为先,享乐在后,只能缺席。

集合

相约8:30在奥森公园集合,由于我是从上海来北京出差,不太熟悉北京的交通,最后集合好的时间到8:50,集合人数:5人,ㄟ( ▔, ▔ )ㄏ 。
次日在奥森公园有北马比赛,所以当天就有很多人在预跑,先徒步的计划只能搁置,找了一处草地,铺上垫子,放上零食,各自坐好。

阅读全文 »

iOS小技术点备忘录

发表于 2018-04-11 | 分类于 iOS

记录一些小技术点,方便使用时查找。

更改UITabBar && UINavigationBar背景颜色

1
2
[[UITabBar appearance] setBarTintColor:[UIColor redColor]];
[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];

更改UITabBar && UINavigationBar字体颜色

1
2
3
4
5
6
7
//改变按钮navigationBar tintColor颜色
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:102/255.0 green:102/255.0 blue:102/255.0 alpha:1.0];
//改变tabbar 正常颜色,选中色
NSDictionary *attributeNormal = @{NSForegroundColorAttributeName:[UIColor grayColor]};
[subVC.tabBarItem setTitleTextAttributes:attributeNormal forState:(UIControlStateNormal)];
NSDictionary *attributeSelected = @{NSForegroundColorAttributeName:[UIColor redColor]};
[subVC.tabBarItem setTitleTextAttributes:attributeSelected forState: (UIControlStateSelected)];

设置UIViewController的view的top在navigationBar下面 & bottom位置在Tabbar的上面

1
2
tabBarController.tabBar.translucent = NO;
uiviewController.navigationController.navigationBar.translucent = NO;

改变UISlider的进度条高度

需要继承UISlider并t重载trackRectForBounds方法

1
2
3
4
- (CGRect)trackRectForBounds:(CGRect)bounds
{
return CGRectMake(0, 0, CGRectGetWidth(self.frame), 5.0);
}

阅读全文 »

远征腾格里沙漠-五湖连穿

发表于 2018-04-10 | 分类于 游记

前言

日期:2018-04-05 ~ 2018-04-07
行程特色:领略塞外沙漠风光,体验沙漠徒步,挑战自我
全程:53公里
装备:防沙鞋、防晒帽、墨镜、轻装
温度:-4°C ~ 25°C
行程安排:4号飞银川,5号进沙漠,7号出沙漠,8号从银川飞回上海。


阅读全文 »

Twitter Crashlytics-iOS

发表于 2018-02-07 | 分类于 技术调研

如何使用

Twitter的Crashlytics SDK接口做的非常简洁,后台也是非常友好,关于如何使用,在这里贴下别的同学的链接,不再赘述啦!
iOS 崩溃统计工具-Crashlytics
了解crash收集:漫谈iOS Crash收集框架

customKey 和 customLog

customKey 和 customLog非常有用,可以跟随crash的report一起上传到服务器上,可以记录从启动到崩溃过程中的用户行为路径,方便用户定位crash根源。

1
2
3
4
5
6
7
8
9
10
//customKey
[CrashlyticsKit setUserIdentifier:@"device"];
[CrashlyticsKit setUserEmail:@"133@qq.com"];
[CrashlyticsKit setUserName:@"xyl"];
[CrashlyticsKit setObjectValue:@"testValue" forKey:@"testKey"];
NSDictionary *dict = @{
@"key1":@"key1",
@"key2":@"key2"
};
[CrashlyticsKit setObjectValue:dict forKey:@"testKeyDict"];


阅读全文 »

2017-2018

发表于 2018-01-30 | 分类于 想法

2017

2017年算是比较热闹的一年吧,顺便解决了人生大事O(∩_∩)O~~
换了一个工作环境

离开了呆了3年的巨人网络,巨人网络园区应该是为数不多的工作环境舒适,设施齐全,面积广的园区啦,怀念每天中午打羽毛球or健身的场景。

阅读全文 »

TextView 选中高亮动效---iOS

发表于 2017-12-10 | 分类于 技术

最近有个需求,TextView显示从录音转出的文字,在播放时,播放一段文字时需要高亮选中动效(刷色+透明度变换)。
解决步骤:

1:覆盖一个一模一样的textView、相同的frame、font。
2:设置textView的selectedRange
3:拿到textView的selectedTextRange
4:根据selectedTextRange通过selectionRectsForRange方法拿到选中的UITextSelectionRect数组,UITextSelectionRect中包含选中的rect信息,选中的首尾位置。
5:分析UITextSelectionRect数组给textView的layer添加CABasicAnimation的相关path和opacity等动效

代码很简单:
新建一个同样的textView

1
2
3
4
5
6
7
8
9
10
11
12
13
//额外添加一个用来做高亮的textview
_maskTextview = [UITextView new];
_maskTextview.text = testString;
_maskTextview.textColor = [UIColor redColor];//你要高亮的颜色
_maskTextview.font = [UIFont systemFontOfSize:20];
_maskTextview.frame = textView.frame;

[self.view addSubview:_maskTextview];

_layer = [CAShapeLayer layer];
_layer.frame = _maskTextview.bounds;
_layer.fillColor = [UIColor blackColor].CGColor;//本来textview的颜色
[_maskTextview.layer setMask:_layer];

阅读全文 »

2017国庆稻城亚丁之旅

发表于 2017-10-18 | 分类于 游记

行程日期:2017/09/29 - 2017/10/08
行程路线:成都->海螺沟->雅江->稻城亚丁->康定县->丹巴县->成都
行程亮点:美景 美食

美好的路途开始啦,逛吃逛吃逛吃,hot hot hot!!!— 成都我来了

来成都当然是串串配火锅啦,好吃不贵,满足!作为喜欢吃辣的妹纸这两天可以说是相当开心了O(∩_∩)O~
在成都呆了两天,白天逛了锦里和宽窄巷子,晚上在蜀风雅韵看了川剧变脸、戏曲表演,好惬意~~
锦里、宽窄巷子、川剧、串串

成都带不走的只有你!
和我在成都的街头走一走 呜喔呜喔~~
直到所有的灯都熄灭了也不停留
你会挽着我的衣袖 ~
我会把手揣进裤兜 ~
走到玉林路的尽头 ~
走过小酒馆的门口 ~

阅读全文 »

自定义 UICollectionViewLayout实现横向布局分页Emoji

发表于 2017-09-19 | 分类于 技术

需求:emoji的横向显示,在每页的最后需要显示一个删除按钮,如下图所示。

  • 可以先阅读下苹果的文档
    必须需要覆盖的方法
    collectionViewContentSize layoutAttributesForElements(in:) layoutAttributesForItem(at:) layoutAttributesForSupplementaryView(ofKind:at:) (如果您的布局支持补充视图)
    layoutAttributesForDecorationView(ofKind:at:) (如果您的布局支持装饰视图)

    当然还有当数据更改移动删除时需要覆盖的方法,目前没有此需求,先不谈,具体可以看文档O(∩_∩)O~~

prepareLayout

在collectionview显示或更新时总会先调用此方法,该方法的默认实现什么都不做。子类可以覆盖它,并使用它来设置数据结构或执行以后执行布局所需的任何初始计算。

阅读全文 »

意法瑞游记

发表于 2017-08-27 | 分类于 游记

行程日期:2017/6/29 - 2017/7/10

出发

目的地是罗马,上午11点40从上海出发,在阿姆斯特丹转机,历时16小时,到达罗马的酒店当地时间凌晨一点。

6-29 梵蒂冈->罗马斗兽场

圣彼得堡大教堂,正逢佛朗西斯一世教皇在做礼拜O(∩_∩)O~


圣彼得堡大教堂

阅读全文 »

Xcode9 之 Xcode Server 持续集成

发表于 2017-08-16 | 分类于 工具调研

前言:Xcode9之前使用Xcode Server 步骤比较繁琐,还需要单独的macOS Server app,Xcode9之后preferences新增了Server & Bots 选项, 将Xcode Server内置在了Xcode中。
下面将介绍在Xcode9中如何设置和使用Xcode Server。

开启Server & Bots

选择设置Xcode Server的用户,我选择的是自己,也可以选择其他用户。

阅读全文 »
1234
纳兰若水

纳兰若水

随便写写读书笔记、技术学习、随想、生活、游记

36 日志
12 分类
8 标签
RSS
GitHub Twitter
© 2017 — 2022 纳兰若水
沪ICP备2021021008号-1