随笔分类 - iOS
摘要:UI篇1、MMDrawerControllerhttp://www.cnblogs.com/shangdahao/p/3142204.html2、SVPullToRefreshhttp://www.cnblogs.com/shangdahao/p/3146125.html3、DYNavigationControllerhttp://www.cnblogs.com/shangdahao/p/3143731.html4、PullRefreshhttp://www.cnblogs.com/shangdahao/p/3142350.html5、FlatUIKithttp://www.cnblogs.c
阅读全文
摘要:AudioPlayer是一个基于AVAudioStreamer的在线音乐播放软件。https://github.com/marshluca/AudioPlayer首先将歌曲信息存储在NSArray中: itemArray = [[NSArray arrayWithObjects: [NSDictionary dictionaryWithObjectsAndKeys:@"温柔", @"song", @"五月天", @"artise", @"http://y1.eoews.com/assets/rington
阅读全文
摘要:用于替代系统UDID的方法。https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-51、使用方法: UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 100)]; label.numberOfLines = 0; label.textAlignment = UITextAlignmentCenter; label.text = [NSString stringWithFormat:@"Unique De...
阅读全文
摘要:一个Json解析库,其特点是代码简单,只有一个.h和.m文件。https://github.com/johnezang/JSONKitJSON(JavaScript Object Notation)是一个轻量级的,基于文本的,序列结构化数据格式. 由RFC 4627定义.提供以下主要类型:nullBoolean true and falseNumberStringArrayObject (a.k.a. Associative Arrays, Key / Value Hash Tables, Maps, Dictionaries, etc.)对应的Objective—C的类:JSONObject
阅读全文
摘要:使用CFNetwork实现的http库,能同时在iphone和macos下使用:http://allseeing-i.com/ASIHTTPRequest/他提供以下功能:向服务器发送或者从服务器获取数据的接口下载数据,可以保存到内存里,或者保存的磁盘的文件里。以POST的方式提交本地文件,和HTML文件输入机制兼容。以流的方式把磁盘里的文件发送的服务器断点续传方便的访问request 和 response HTTP headers进度代理,利用NSProgressIndicators and UIProgressViews显示上传和下载的进度自动管理上传和下载的进度。支持CookieRequ
阅读全文
摘要:SVPullToRefresh也是一个下拉刷新的项目:https://github.com/samvermette/SVPullToRefreshSVPullToRefresh 允许你通过一行代码把下拉刷新添加至UIScrollView子类别,不需要依赖委托或者子类化UITableViewController。另外,该项目支持简单自定义文本、箭头的外观。这些UIScrollView类别让下拉刷新和UIScrollView的无限滚动变得非常简单。- (void)viewDidLoad { [super viewDidLoad]; [self setupDataSource]; ...
阅读全文
摘要:DYNavigationController是一个实现了左右滑动导航的项目。https://github.com/dyang/DYNavigationController首先用之前的跟视图初始化DYNavigationController- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen...
阅读全文
摘要:PullToRefresh实现了类似微博下拉刷新的功能:https://github.com/sonnyparlin/PullToRefresh首先把PullToRefreshView.h, PullToRefreshView.m, arrow.png andarrow@2x.png,QuartzCore framework and 和 AudioToolbox framework加入到工程中。然后继承UITableView创建自定义View,并引入PullToRefreshView.h#import "PullToRefreshView.h"@interface MyTa
阅读全文
摘要:FlatUIKit是iOS中具有扁平化风格的UI(Flat UI)组件。FlatUIKit的设计灵感来源于Flat UI和Kyle Miller。FlatUIKit中的组件是通过扩展(category)或继承iOS SDK中已有的UIKit组件来实现的,因此在程序中使用FlatUIKit非常方便。https://github.com/Grouper/FlatUIKitFUIButton是UIButton的子类,通过设置UIButton的一系列属性来把样式定义成扁平化的 FUIButton *button = [[FUIButton alloc] initWithFrame:CGRectM...
阅读全文
摘要:https://github.com/levey/AwesomeMenu模仿Path的menu,使用CoreAnimation实现.1、首先说使用 AwesomeMenuItem *starMenuItem1 = [[AwesomeMenuItem alloc] initWithImage:storyMenuItemImage highlightedImage:storyMenuItemImagePressed ...
阅读全文
摘要:源码地址:https://github.com/thermogl/TISpringLoadedViews,这个比较复杂,我写了个简化版的:https://www.dropbox.com/s/sv3yhm8dovh0adq/SpringDemo.zip- (void)simulateSpringWithDisplayLink:(CADisplayLink *)displayLink { if (springEnabled && !self.panning){ CGPoint displacement = CGPointMake(self.center.x - rest...
阅读全文
摘要:原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个iPhone/iPad开发者,能够自己写一个简单的web服务器将是很有用的。 例如,你可能希望在软件启动时显示一些来自服务器的更新,或者在服务器端保存一些用户数据。除了你的想象力,没有什么能限制你了。 在第一篇中,我们将会一步一步的建立一个web服务器,基于promo code system(促销码系统),我在我的第一个软件中使用的,Wild Fables.在第二篇中,我们将会写一个iOS A...
阅读全文
摘要:保存数据的方式很多,plist files, XML, 或者 文本文件,但是效率不高。SQLite提供了在大数据中高效查询、检索的本地存储功能。SQLite is an open source library, written in C, that implements a self-contained SQL relational database engine. You can use SQLite to store large amounts of relational data. The developers of SQLite have optimized it for use on
阅读全文
摘要:UITableView是UIScollView的子类,用于显示一列数据。装在UITableView 里面的元素是UITableViewCell。UITableViewCell 预设有4种样式Style:UITableViewCellStyleDefault:预设使用这种,若左侧ImageView没图的话,只有一行字(textLable.text)。UITableViewCellStyleValue1:左侧为textLable.text并且左对齐,右侧为detailTextLable.text并且右对齐。UITableViewCellStyleValue2:左侧为detailTextLable.
阅读全文
摘要:1、创建一个UILabel:UIView *footerView = [[UIView alloc]initWithFrame:CGRectMake(10, 100, 300, 180)];UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 100, 300, 150)];label.text = @"Hello world! Hello world!Hello world! Hello world! Hello world! Hello world! Hello world! Hello world!Hello
阅读全文
摘要:UIQWindow定义了一个window对象来管理views。一个软件只能有一个window。window的主要职能使为view提供显示取和向view传递事件。想要改变软件显示的内容,你可以改变window的root view。UIWindow的screen属性指定了window的显示属性包括:bounds, mode, and brightness.windownotifications用来监听window 和 screen的改变,包括:UIWindowDidBecomeVisibleNotificationUIWindowDidBecomeHiddenNotificationUIWindo
阅读全文
摘要:当应用程序生成一个新的线程的时候,该线程变成应用程序进程空间内的一个实体。每个线程都拥有它自己的执行堆栈,由内核调度独立的运行时间片。一个线程可以和其他线程或其他进程通信,执行I/O操作,甚至执行任何你想要它完成的任务。因为它们处于相同的进程空间,所以一个独立应用程序里面的所有线程共享相同的虚拟内存空间,并且具有和进程相同的访问权限。一、线程成本多线程会占用你应用程序(和系统的)的内存使用和性能方面的资源。每个线程都需要分配一定的内核内存和应用程序内存空间的内存。管理你的线程和协调其调度所需的核心数据结构存储在使用Wired Memory的内核里面。你线程的堆栈空间和每个线程的数据都被存储在你
阅读全文
摘要:HTTP定义了一种在服务器和客户端之间传递数据的途径。URL定义了一种唯一标示资源在网络中位置的途径。REQUESTS 和 RESPONSES:客户端先建立一个TCP连接,然后发送一个请求。服务器受到请求处理后发送一个响应向客户端传递数据。然后客户端可以继续发送请求或者关闭这个TCP连接。HTTPS:在TCP连接建立后,发送请求之前,需要建立一个一个SSL会话。request方法和它们的用途注意:想server发送大量数据需要用POST,因为GET仅支持发送少量数据(8KB)。iOS的NSURLRequest和它的子类NSMutableURLRequest提供了建立HTTP请求的方法。NSUR
阅读全文
摘要:Apple提供了以下几个框架来进行Graphics 和 Animations编程1、UIKitThe high-level framework that allows developers to create views, windows, buttons,and other UI related components. It also incorporates some of the low-levelAPIs into an easier-to-use high-level API.2、 Quartz 2DThe main engine running under the hood to
阅读全文
摘要:什么是多线程多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。从技术角度来看,一个线程就是一个需要管理执行代码的内核级和应用级数据结构组合。内核级结构协助调度线程事件,并抢占式调度一个线程到可用的内核之上。应用级结构包括用于存储函数调用的调用堆栈和应用程序需要管理和操作线程属性和状态的结构。多线程的替代方法你自己创建多线程代码的一个问题就是它会给你的代码带来不确定性。多线程是一个相对较低的水平和复杂的方式来支持你的应用程序并发。如果你不完全理解你的设计选择的影响,你可能很容易遇到同步或定时问题,其范围可以从细微的行为变化到严重到让你的应用程序崩溃并破坏用户数据。你需要考虑的另一
阅读全文