Skip to content

Instantly share code, notes, and snippets.

View manajay's full-sized avatar
🎯
Focusing

manajay manajay

🎯
Focusing
View GitHub Profile
@manajay
manajay / UIImage+Transform.h
Created July 12, 2018 12:58 — forked from mjjimenez/UIImage+Transform.h
UIImage category for resizing and rotating methods. Made by http://www.catamount.com/forums/viewtopic.php?f=21&t=967
#import <UIKit/UIKit.h>
@interface UIImage (Transform)
- (UIImage *)imageAtRect:(CGRect)rect;
- (UIImage *)imageByScalingProportionallyToMinimumSize:(CGSize)targetSize;
- (UIImage *)imageByScalingProportionallyToSize:(CGSize)targetSize;
- (UIImage *)imageByScalingToSize:(CGSize)targetSize;
- (UIImage *)imageRotatedByRadians:(CGFloat)radians;
@manajay
manajay / ErrorDomain_NSPOSIXErrorDomainFixFix.snippet
Created June 30, 2018 09:55
Error Domain=NSPOSIXErrorDomain Code=53 fix
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
@manajay
manajay / code.cpp
Created June 26, 2018 06:23 — forked from rla/code.cpp
Sending JSON POST request with Qt
void SyncService::sync()
{
QUrl url(SYNC_URL);
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
ACTION = build
AD_HOC_CODE_SIGNING_ALLOWED = NO
ALTERNATE_GROUP = staff
ALTERNATE_MODE = u+w,go-w,a+rX
ALTERNATE_OWNER = grantdavis
ALWAYS_SEARCH_USER_PATHS = NO
ALWAYS_USE_SEPARATE_HEADERMAPS = YES
APPLE_INTERNAL_DEVELOPER_DIR = /AppleInternal/Developer
APPLE_INTERNAL_DIR = /AppleInternal
APPLE_INTERNAL_DOCUMENTATION_DIR = /AppleInternal/Documentation
@manajay
manajay / exportOptions.plist
Created June 21, 2018 15:55 — forked from skabber/exportOptions.plist
Export Options Plist Example
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store</string>
<key>teamID</key>
<string>XXXXXXXXXX</string>
<key>uploadBitcode</key>
<true/>
@manajay
manajay / qt_export_xcode_project.codesnippest
Last active June 19, 2018 05:29
qmake xx.pro -spec macx-xcode
# qmake 要么在 bin 的可执行文件下, 要么 alias 它的可执行文件路径
qmake xx.pro -spec macx-xcode
# ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild
# 如果出现上面的报错,要修改 `Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf`
# 替换 `isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))`
# 为 `isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))`
@manajay
manajay / clear_cookies.codesnippet
Created June 4, 2018 13:09
iOS 清理 cookies
NSArray<NSHTTPCookie *> *cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage].cookies;
for (NSHTTPCookie *cookie in cookies) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}
@manajay
manajay / core_animation_or_pop.codesnippet
Created June 4, 2018 12:52
Core Animation 与 pop 动画的比较
Core Animation 优点为:①单独进程运行 ②不会阻塞主线程。缺点为:①复杂动画效果要写冗长的代码 ②手势驱动动画比较复杂。
pop 的优点为:①丰富的 API ②内置很多的动画 缺点为:①在主线程上执行 ②动画过程可能卡顿 ③消耗更高的 CPU
@manajay
manajay / check_if_main_queue.codesnippet
Last active June 4, 2018 13:05
检查是否是主线程
BOOL RCTIsMainQueue()
{
static void *mainQueueKey = &mainQueueKey;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
dispatch_queue_set_specific(dispatch_get_main_queue(),
mainQueueKey, mainQueueKey, NULL);
});
return dispatch_get_specific(mainQueueKey) == mainQueueKey;
}
@manajay
manajay / ios_draw_theory.codesnippet
Created June 4, 2018 12:42
iOS 动画原理与绘制性能
// iOS动画应用内处理的4个阶段
在iOS中,动画的执行主要分6个阶段,其中4个阶段是在应用内部处理的:
Layout: 这一阶段是准备好view/layer的层级结构并设置layer的属性;
Display: 这一阶段将绘制layer的内容。绘制操作会调用-drawRect:或-drawLayer:inContext:方法;
准备阶段: 这一阶段是Core Animation准备将动画数据发送给render server。另外,还会执行其它一些操作,如解压在动画过程中显示的图片;
提交: 这是应用内部处理的最后一个阶段,Core Animation将打包layer及动画属性并通过IPC发送到render server;
这几个阶段都是由CPU来处理的,而且我们只能控制前面两个阶段,后两个阶段将由Core Animation来控制。