Eliyar's Blog

大有空间,可容;强有余力,有度。弱无依仗,赖横。真有信奉的人,可以强到从容,大到由他。

HFUTer已经发布到1.5版本,测试版本的话1.6已经做的差不多,增加了社区、失物招领推送和表白墙。
但是做到现在觉得越来越有问题,主要是UI混乱和项目架构的混乱。

阅读全文 »

前文

这两天研究Django,简单入门了Django。相关笔记如下。其中Django REST framework部分没来及的做记录,也很简单,直接看官方档案即可。

阅读全文 »

一直想学个服务器开发语言以便自己独立开发API服务器,之前想学PHP不过看了点不怎么感兴趣。加上小伙伴们都推荐Django,今天就尝试看看。

阅读全文 »

刚开始学习ios的时候从StoryBoard开始,当时主要是因为简单,且相关教程都是教使用SrotyBoard。后来去实习时候学习了使用代码写布局后喜欢上了代码布局的精准性。
但实际项目中发现代码布局往往把项目代码弄得特别繁多,后期维护起来非常费劲且不客观。即使使用Masonry等都只是一定程度的简化了代码,但不解决根本问题。
后来项目中开始使用Xib和SrotyBoard配合,UI相关的用就用Interface Builder + Autolayout解决。不过不能直接从Xib初始化UIView。所以写了个UIView基类BCXibView。方便使用Xib初始化UIView。

阅读全文 »

本篇博文并非本人整理,是从下面大神的Github下载,为了方便自己查看所以发布到这里。感谢大神整理。
来自:https://github.com/huang5556019/huang5556019.github.io

github排名:https://github.com/trending
github搜索:https://github.com/search

UI

下拉刷新
  • EGOTableViewPullRefresh - 最早的下拉刷新控件。
  • SVPullToRefresh - 下拉刷新控件。
  • MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)
  • XHRefreshControl - XHRefreshControl 是一款高扩展性、低耦合度的下拉刷新、上提加载更多的组件。(国人写)
  • CBStoreHouseRefreshControl - 一个效果很酷炫的下拉刷新控件。
  • BreakOutToRefresh - 一个下拉刷新打砖块的开源 Swift 库,能让用户在等待下拉刷新的时候边玩撞球游戏边等待。
  • KYJellyPullToRefresh - 实现弹性物理效果的下拉刷新,神奇的贝塞尔曲线,配合UIDynamic写的一个拟物的下拉刷新动画。
  • MHYahooParallaxView - 类似于Yahoo Weather和News Digest首屏的视差滚动。
  • SDRefreshView - 简单易用的上拉和下拉刷新(多版本细节适配)。
  • ZLSwiftRefresh - swift下拉刷新/上拉加载更多,支持自定义动画,集成简单,兼容UITableView/CollectionView/ScrollView/WebView。
  • BreakOutToRefresh - swift,上拉和下拉刷新。
  • GearRefreshControl - swift,上拉和下拉刷新。
  • refresher - swift,上拉和下拉刷新。
  • 可展开/收缩的下拉菜单–SvpplyTable - 一个可展开可收缩的下拉菜单,类似Svpply app。
  • ODRefreshControl - 原iOS6上的橡皮糖刷新样式,很有意思。现在也很多大的 App 在用,比如虾米音乐和 QQ 客户端。
  • PullToMakeSoup - PullToMakeSoup, 自定义下拉刷新的动画效果:煮饭, Yalantis新作!
  • TwitterCover - Twitter iOS客户端的下拉封面模糊效果。
  • Replace-iOS - Replace-iOS 让人眼前一亮的下拉刷新(iOS)。
  • Animations - 封装了一下,使用的时候只要两行代码。一些动画的飞机稿,都是一些单独分离出来的用于测试的子动画,现在统一归类一下。
  • PullToBounce - 下拉刷新的动画 for UIScrollView。
阅读全文 »

之前遇到需要看变量的值,或者循环次数等每次都用println()来打印log,但是这样每次调试完还得一个个删除,若忘了删除够段时间再次调试时候一堆log淹没真正需要的信息。记得刚去学长所在公司时候他介绍过lldb,不过因为当时还基本不懂开发,也没在意。如今在简书上看到这篇久违的的LLDB篇一,让lldb提升你的效率LLdb篇2教你使用faceBook的chisel来提高调试效率决定好好一下lldb的使用,从此告别没完没了的println()

lldb入门

打印log

打印log是最常用的调试方法,但是目前所用的println()方式有着诸多不便。如果编译前忘了加上去的话,那么加上pritnln后还得重新编译重启app。调试完毕还得删掉相关语句。不能很灵活变动。

1
2
3
4
5
var a = 10
for i in 0...3 {
println(a)
a += 2
}
阅读全文 »

日期和数字是每个App必不可少的一个部分,作为一个合格的app应该能够以合理的格式显示数字,日期等等。由于不通地区,甚至不同场景下所需要的显示格式不一样,格式化这些数据还是比较复杂的。

幸运的是Cocoa框架很擅长于处理相关信息NSFormatter几乎能涵盖所有的转换需求。

iOS8在原来的NSNumberFormatterNSDateFormatter基础上增加了一些新的日期、时间转换以及一些物理量相互转换的方法。

NSNumberFormatter

日常工作中经常需要打印出各类数字,其中很多都是高精度的FloatDouble类型,但是对于我们$10.321 和 $10.321054823并没有多少实质性区别。所以这种时候就需要使用NSNumberFormatter

NSNumberFormatter包含一下几种样式

  • NoStyle
  • DecimalStyle
  • CurrencyStyle
  • PercentStyle
  • ScientificStyle
  • SpellOutStyle
    阅读全文 »

iOS中数据持久化有plist,NSUserDefualt,SQLData和Core Data几种方式。本文结合上一篇Swift单例模式Singleton pattern的实现来创建一个基于plist的数据持久化单例。

plist储存入门

属性列表(plist)是一种XML文件,Foundation框架中数组和字典等都可以与plist文件相互转换。比如下文就是一个标准的plist文件,保存了一组array["衣带渐宽终不悔","为伊消得人憔悴","故国不堪回首明月中","人生若只如初见","暮然回首,那人却在灯火阑珊处"]

1
2
3
4
5
6
7
8
9
10
11
<?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">
<array>
<string>衣带渐宽终不悔</string>
<string>为伊消得人憔悴</string>
<string>故国不堪回首明月中</string>
<string>人生若只如初见</string>
<string>暮然回首,那人却在灯火阑珊处</string>
</array>
</plist>
阅读全文 »
0%