修复 _adjustContentOffsetIfNecessary 导致 Scroll View 闪动问题

方法一

继承 scroll view,override _adjustContentOffsetIfNecessary 到空方法。

方法二

swizz scroll view _adjustContentOffsetIfNecessary 到其 category 的一个空方法中。

方法三

对应 UIViewController 的 automaticallyAdjustsScrollViewInsets 设置为 NO。

Gitbook Install and Use

首先安装 Node.js

https://nodejs.org/en/download/

然后安装 Gitbook

1
sudo npm install -g gitbook-cli

再安装 Calibre

Gitbook 的电子书格式转换需要调用 Calibre 的命令行工具。

https://calibre-ebook.com

然后:

1
ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert ~/bin

最后切换到书的 git 目录下

1
gitbook mobi ./ ./book-name.mobi

Over

单页面隐藏 Navigation Bar,同时保持右滑手势退出页面的终极方案

1. 隐藏 navigation bar

在需要隐藏 navigation bar 的 view controller 中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self hideNavBar];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
    [self showNavBar];
}

- (void)hideNavBar
{
    if (self.navigationController.viewControllers.lastObject == self) //避免推出下一个隐藏bar bar的vc过场动画展示了nav bar
    {
        [self.navigationController setNavigationBarHidden:YES animated:YES];
    }
}

- (void)showNavBar
{
    if (self.navigationController.viewControllers.lastObject == self) //避免推出下一个隐藏bar bar的vc过场动画展示了nav bar
    {
        [self.navigationController setNavigationBarHidden:NO animated:YES];
    }
}
Read on →

iOS 模拟器键盘无响应和剪贴板不响应问题修复(Xcode 10.3)

键盘无响应

iOS Simulator main menu - Hardware - Keyboard
首先取消 Use the Same Keyboard Language as macOS
点击 Connect Hardware Keyboard

剪贴板无响应

iOS Simulator 使用的剪贴板服务挂了,还是 main menu
Edit - 取消 Automatically Sync Pasteboard
再 Edit - 选中 Automatically Sync Pasteboard

Over

macOS 卸载 Symantec 和 McAfee

Activity Monitor 查一下相关几个进程的 pid:

。。进程名我忘了记录了,大约就是 Mc 和 Sym 开头的几个进程

lsof 看一下 pid 相关的 file handle:

1
2
lsof -p pid_of_McAfee -Fn | grep Mc
lsof -p pid_of_Symantec -Fn | grep Sym

记录 McAfee 和 Symantec 的 executable file 位置:

1
2
3
4
5
6
/Applications/Symantec Solutions/*
/Applications/McAfee Endpoint.app
/Library/Application Support/Symantec
/Library/Application Support/McAfee
/usr/local/McAfee
/private/var/McAfee

关机,长按 command + S, 进入 macOS single user mode, 检查磁盘并挂载磁盘:

1
2
fsck -fy
mount -uw /

删除 McAfee 和 Symantec 相关文件:

1
2
3
4
5
6
rm -rf /Applications/Symantec Solutions/*
rm -rf /Applications/McAfee Endpoint.app
rm -rf /Library/Application Support/Symantec
rm -rf /Library/Application Support/McAfee
rm -rf /usr/local/McAfee
rm -rf /private/var/McAfee

重启:

1
reboot

开机 Activity Monitor 里看看还有没有相关进程,如果有,从文章最开始再来一遍。。。

Over

Demark Sequential Using Numpy

1
import numpy as np
Read on →

CocoaPods 分支依赖时的 Bug

Pod 1.5.0 分支依赖,分支有新提交后,重新 pod install,pod 不更新

主工程源码依赖 SDK develop 分支,pod installpod install --fast-mode ,拉下来的 SDK 均不是 develop 分支最新提交,而是上次执行 pod install 时 develop 分支的提交。

清空 ./Pods~/Library/Caches/CocoaPods/* 均无效(缓存不在这里)。

由于下载时间太长,不想清掉全量本地库,于是想了一个变通的方法。

SDK 里 gco -b feature/merge_main_proj,主工程依赖 SDK feature/merge_main_proj 分支,重新 pod install --fast-mode 就好了,因为 pods 里没有对 feature/merge_main_proj 的缓存,此时肯定会好。

然后主工程切回对 SDK develop 分支的依赖,重新 pod install --fast-mode 也好了。估计是对一个 pod 的多个分支只有一份缓存(pods 版本 1.5.0)。

新加的 pod 不更新

先来一次 pod repo updatepod install

Over

Python3 一些 Talib 没有的 Indicators

1
2
import pandas as pd
import numpy as np
Read on →

人,经济与国家 读书笔记

第一章 人的行动的基本原理

第二章 直接交换

  1. 投机和供求表

  2. 库存和总持有需求

  3. 价格低时,市场的总需求提升;价格高时,市场的总需求降低

  4. 市场会自行发现一个均衡价格,使得总库存需求等于总需求

  5. 连续的市场与价格的变动

  6. 大型市场中,打到均衡价格的速度快,投机行为趋向于改善对均衡点的预期,使均衡点快速到来

  7. 市场的单一属性改变:
    1. 需求表增加,供给表不变,新的均衡价格更高,新的均衡状态下发生的交易量比旧的更多,价格上升,交易量上升
    2. 和1相反,需求增加供给不变,价格下降,交易量下降
    3. 供给表上升,需求表不变,人们愿意从库存中处理更多的库存,新的均衡价格比旧的更低,均衡交易量更多,价格下降,交易量上升
    4. 和3相反,供给下降,需求不变,价格上升,交易量下降
    5. 总结一下,需求和供给都和交易量正相关,需求和价格正相关,供给和价格负相关

Install Manjaro From macOS

从 macOS 10.14 制作安装 U 盘

下载好 iso 之后,将 iso 改名为 ~/Downloads/manjaro-kde.iso,然后将 iso 转换成 dmg:

1
hdiutil convert -format UDRW -o ~/Downloads/manjaro ~/Downloads/manjaro-kde.iso

看一下 U 盘是 disk几:

1
diskutil list

假设 U 盘是 disk9,分区,unmount,再写入镜像:

1
2
3
diskutil partitionDisk disk9 1 GPT HFS+ newdisk R
diskutil unmountDisk /dev/disk9
sudo dd if=/Users/openthread/Downloads/manjaro.dmg of=/dev/rdisk9 bs=1m

U盘插到 pc,重启,安装

Read on →