Ekulelu's Blog


  • Home

  • Categories

  • Archives
Ekulelu's Blog

OpenCV 3.2.0 in MacOS

Posted on 2017-02-24 | In iOS开发技术杂谈 | | Visitors

这里面的OpenCV是给mac系统用的,如果是用在iOS,那么直接在官网下载iOS的framework就行了。

本来昨晚下班早早的,想想配置一下OpenCV来玩玩,谁知道搞了3个小时都没搞定!github不翻墙连不上去,翻墙软件全局模式挂了。按着网上的方法来安装OpenCV3.2,试了几次都是在下载一个ippcvxxx文件上面出错,连不上github。随后重要在网上找到了下载链接,把下载包仍了进去,但是仍然报错。后面开窍去试了下3.1版本,cmake的generate过了。洗澡回来make,这次仍然报错,说找不到QTKit头文件。百度下来一看,都是说Seirra把某个库文件给改了,尝试了一种把QTKit文件扔进去的办法,根本不行。我想翻桌子!睡觉。。。。

下面记录一下这个过程里面用到的东西和坑。

Read more »
Ekulelu's Blog

iOS宏

Posted on 2017-02-19 | In iOS开发技术杂谈 | | Visitors

注明:本篇blog是参考多篇blog后的一个整理汇总,另外加上了自己常用的一些宏定义。如有冒犯,请会知,将删除该部分。

求最小值

宏在OC中使用是很多的,官方也定义了大量的宏。宏简单来讲就是替换。但是这个替换里面稍不注意还是很多坑的。比如举一个获取最小值的宏。

1
2
//Version 1.0
#define MIN(A,B) A < B ? A : B

这样写你就惨了,比如遇到下面的情况:

1
int a = 2 * MIN(3, 4); //输出a=4
Read more »
Ekulelu's Blog

iOS懒加载的坑

Posted on 2017-01-23 | In iOS开发技术杂谈 | | Visitors

这次我们来讲讲懒加载。懒加载的意思就是将成员变量的创建放到getter方法里面。使用到这个成员变量的时候再进行创建。这样可以节省内存空间。这里有个主意点:以后使用懒加载的成员变量的时候,请用getter方法,而不是 _+成员变量名字。 因为 _+成员变量名字 这种写法并不会调用getter方法,所以可能会拿到空的成员变量。 Getter和Setter方法的写法这里就不讲了。这里讲的是各种不经意的写法混合到一起产生的怪异bug。
对于一个UIView或UIViewController里面的控件类型的成员变量。一般是建议使用懒加载来加载的。这里我们举一个在UIViewController里面懒加载imageView为例。但控件是要添加到主View里面的,所以一般创建后还需要调用

1
[self.view addSubview:self.imgView];
Read more »
Ekulelu's Blog

UIAlertController调整文字对齐

Posted on 2017-01-10 | In iOS开发技术杂谈 | | Visitors
1
2
3
4
5
6
7
8
9
10
11
12
UIAlertController* alertVC = [UIAlertController alertControllerWithTitle:@"" message:message preferredStyle:UIAlertControllerStyleAlert];
UIView *subView1 = alertVC.view.subviews[0];
UIView *subView2 = subView1.subviews[0];
UIView *subView3 = subView2.subviews[0];
UIView *subView4 = subView3.subviews[0];
UIView *subView5 = subView4.subviews[0];
//取message:
UILabel *message = subView5.subviews[1];
message.textAlignment = NSTextAlignmentLeft;
UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"ok",nil) style:UIAlertActionStyleCancel handler:nil];
[alertVC addAction:cancelAction];
[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:alertVC animated:YES completion:nil];
Ekulelu's Blog

使用Hexo搭建blog并在github上部署

Posted on 2016-12-11 | In 经验笔记 | | Visitors

前两周学着用Hexo搭建博客,且在github上部署。这里把里面的过程记录一下。

使用的系统是Mac,但是windows也是基本一致。

安装Node.js

下载地址

安装完成后,进入终端,使用下面命令可以查询到安装的版本号,验证一下有没安装成功。

1
2
$ node -v
$ npm -v
Read more »
Ekulelu's Blog

ReactiveCocoa入门教程二

Posted on 2016-12-11 | In iOS开发技术杂谈 | | Visitors

上一篇文章我们使用ReactiveCocoa搭建了一个简单的登录页面,这一次我们来搭建注册页面。

本篇代码在https://github.com/Ekulelu/ReactiveCocoaRegister

Account和password的有效规制还是和之前一样,长度必须大于5,否则输入框背景色是红色的,这一步直接用之前的代码就可以了。
注册按钮的响应和登录的响应应该是一样的逻辑,对于之前的伪代码来讲,也几乎没什么改动。
但是注册和登录最起码有个不同的东西,就是注册的用户名可能已经被占用,我们想用户在输入完了用户名之后,从后台对用户名是否可用进行判断,如果可用,才允许用户点击“注册”按钮。

Read more »
Ekulelu's Blog

ReactiveCocoa入门教程一

Posted on 2016-12-11 | In iOS开发技术杂谈 | | Visitors

ReactiveCocoa框架是Github开源的一个应用于iOS和MacOS开发的新框架,使用它能大幅度改变在“苹果体系”里面的编程习惯。所以如果是有一些iOS编程经验的人来看这个框架的使用方法可能倒会觉得不习惯。这里不想从比较两种编程的区别来引入ReactiveCocoa,因为这样会让人觉得更混乱。希望读者能把iOS的编程套路忘记后来看这篇文章,以免造成不习惯或混乱,毕竟ReactiveCocoa的编程习惯更加接近我们所追求的编程套路。

Read more »
Ekulelu's Blog

iOS的UINavigationViewController 相关

Posted on 2016-12-07 | In iOS开发技术杂谈 | | Visitors

人们都说转角遇到爱,天天和代码打交道的我是转角遇到坑。好,这个分类的名字就决定是你了。这个分类下面的文章主要是记录一些实际开发或学习的时候遇到的坑(说白了,就是个笔记本)。
希望这本坑能给大家一些帮助,少走一些弯路。

UINavigationViewController,这个是iOS开发中最最最常用的一个类。苹果的封装给我们省去了很多麻烦事,但是这种自动性也会带来一些坑。

导航栏相关

先说导航栏,UI首先就会和你说把导航栏的按钮给我改了。一般会以为很简单,换个图片就好了,但是坑很多。

修改返回键图标

第1种方法:
下面这段放在需要的那个类里面用。这个不会清除系统的滑动返回效果。

1
2
3
self.navigationController.navigationBar.backIndicatorImage = [UIImage imageNamed:@"back_normal_for_device_list"];
self.navigationController.navigationBar.backIndicatorTransitionMaskImage = [UIImage imageNamed:@"back_press_for_device_list"];
Read more »
123
Ekulelu

Ekulelu

一緒に世界の果てまでへ

28 posts
5 categories
© 2018 Ekulelu
Powered by Hexo
Theme - NexT.Pisces