那片树海

用心做一件工艺品


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

主题替换为NexT

发表于 2018-04-04 | 更新于: 2018-04-08

之前一直觉得博客的主题在显示比较多的文字和代码的时候略显凌乱,而且不太方便阅读,所以就把博客主题替换成了NexT。NexT在文字排版上比较清晰,而且界面元素也不多,可以使自己把更多的关注点放在内容上。

NexT主题地址:https://github.com/iissnan/hexo-theme-next

多说两句

1.NexT有4个scheme,每个scheme对应一个不同的布局,可以在_config.yml当中设置

# ---------------------------------------------------------------
# Scheme Settings
# ---------------------------------------------------------------

# Schemes
scheme: Muse
# scheme: Mist
#scheme: Pisces

2.大于5.0.1小于6.0.0版本的NexT在sudo hexo generate时速度会特别慢,不知道是不是个例,在使用的时候注意一下

从ReactNative到React

发表于 2018-03-29 | 更新于: 2018-12-29

最近在写自己的一个前端小Demo,因为之前在工作中使用了ReactNative,就选择了React作为技术选型,也就走上了这么一条自上而下的路。本文主要内容为ReactNative和Reactjs的一些不同以及从ReactNative到Reactjs的一些开发中的经验,因此适合从原生转向前端或者对前端有些兴趣的同学,希望能帮大家少踩一些坑,少费一些力。

安装脚手架和搭建基础工程

//-g是将create-react-app安装到全局,该电脑的任何用户都可以使用
npm install -g create-react-app
create-react-app my-app

cd my-app
npm start

这样我们就有一个基础的工程和基础的页面了,下面我们就开始讨论详细的问题了

阅读全文 »

2017年个人总结

发表于 2018-01-09 | 更新于: 2019-01-28

20180109-1

阅读全文 »

MobX绑定过程和其中的一些坑的总结

发表于 2017-10-19 | 更新于: 2018-12-29

20171019-1

阅读全文 »

Xcode9的一些问题

发表于 2017-10-10 | 更新于: 2018-12-29

Xcode9的正式版也使用了一段时间了,bug还是有点多的,总感觉好像是赶工出来的版本,刚开始用的时候还是有点痛苦的,下面就把这些点列出来,大家可以参考一下。

BUG

1.APP图标不见了

用Xcode9跑起来工程之后发现应用图标不见了,这个是因为CocoaPods的资源脚本有点问题,在Xcode9上资源位置异常,工程引用不到,解决方案是在Podfile添加如下hook代码

post_install do |installer|
    copy_pods_resources_path = "Pods/Target Support Files/Pods-[工程名]/Pods-[工程名]-resources.sh"
    string_to_replace = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"'
    assets_compile_with_app_icon_arguments = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"'
    text = File.read(copy_pods_resources_path)
    new_contents = text.gsub(string_to_replace, assets_compile_with_app_icon_arguments)
    File.open(copy_pods_resources_path, "w") {|file| file.puts new_contents }
end

//如果有多个TARGETS,遍历执行即可
post_install do |installer|
  installer.aggregate_targets.each do |target|
    copy_pods_resources_path = "Pods/Target Support Files/Pods-[工程名]/Pods-[工程名]-resources.sh"
    string_to_replace = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"'
    assets_compile_with_app_icon_arguments = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"'
    text = File.read(copy_pods_resources_path)
    new_contents = text.gsub(string_to_replace, assets_compile_with_app_icon_arguments)
    File.open(copy_pods_resources_path, "w") {|file| file.puts new_contents }
  end
end
阅读全文 »

一行命令搞定工程图片浏览查找

发表于 2017-09-12 | 更新于: 2018-04-04

在项目开发过程中随着项目的逐渐增大,项目当中的图片资源会越来越多,而且有些时候因为命名不规范和人员的变动等原因会造成项目当中重复的图片资源越来越多,而且Xcode查看图片的方式也不集中,查找起来也不方便,这种情况下我们往往会更倾向于添加一个新的图片资源,从而更加剧了图片资源重复的问题。

为了解决这个问题,我们打算来写一个脚本,把工程当中图片数据扫描一遍,然后用html集中显示出来,这样就方便我们来查找了。

问题分析

我们基本上需要解决以下3个问题

  1. 工程资源文件扫描脚本的编写
  2. html展示页面的编写
  3. html页面和扫描脚本的数据交互

1和2两点查阅相关资料就可以比较容易解决,主要是第3点,一般情况下浏览器是不提供操作文件的接口的,网上说的ActiveXObject也只是IE浏览器提供。这个地方我们采用了一个比较特殊的方式,就是将脚本扫描得到的数据直接利用脚本的文件操作写成一个js文件,虽然浏览器不能操作文件,但是可以直接读取js文件,这样就比较好的解决了脚本和html交互的问题。

阅读全文 »

一个优雅的水波动画

发表于 2017-08-11 | 更新于: 2018-12-29

今天整理文件的时候发现以前写的一个动画,感觉还不错,就和大家分享一下。

如何实现一个如下图的动画呢?

20170811-1

下面我们就来一步步的实现它。

阅读全文 »

iOS工程文件整理

发表于 2017-07-31 | 更新于: 2018-12-29

在iOS开发过程的当中不知道大家有没有遇到过这样的问题

  1. 文件的物理位置不对应
  2. 多余的未被工程引用的文件

这两个问题在工程变得比较大的时候,对工程的影响就比较让人难受了,于是我决定对工程进行整理。

因为我们的业务还是蛮复杂的,工程就特别大,手动查找和整理简直就是一场灾难,于是我决定使用脚本来帮助我完成这项虽然简单但是巨大的工程。

阅读全文 »

React Native之mobx绑定

发表于 2017-07-12 | 更新于: 2018-04-04

作为一个iOS开发,想必大家都经历过把很多状态和逻辑放到Controller当中的时候,当Controller逐渐变大,数据处理逻辑、视图展示逻辑和状态控制逻辑混在一起会导致代码越来越难维护,RN当中的State也会存在这样的问题,我们引入mobx就是为了解决这样的问题。

MobX 是一个经过战火洗礼的库,它通过透明的函数响应式编程(transparently applying functional reactive programming - TFRP)使得状态管理变得简单和可扩展。

mobx通过响应式的结构将数据和视图的处理逻辑进行分离,比较好的解决了状态维护的问题,再将数据处理分离出去就是一个标准的MVVM的结构,开发者在VM当中对数据和视图进行了绑定后就可以只关心视图的渲染和数据的处理了,这样也更容易理解。

阅读全文 »

React Native之如何写一个ListView

发表于 2017-07-05 | 更新于: 2018-04-04

写RN也有段时间了,今天抽空就对RN当中的ListView进行一个简单介绍,主要介绍使用当中的一些坑。

写一个简单的ListView

class MyComponent extends Component {
  constructor() {
    super();
    const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
    this.state = {
      dataSource: ds.cloneWithRows(['row 1', 'row 2']),
    };
  }

  render() {
    return (
      <ListView
        dataSource={this.state.dataSource}
        renderRow={(rowData) => <Text>{rowData}</Text>}
      />
    );
  }
}
阅读全文 »
1234…6
树海

树海

59 日志
1 分类
21 标签
RSS
GitHub Weibo
© 2023 树海
由 Hexo 强力驱动
|
主题 — NexT.Muse