原创 iOS仿微信聯繫人界面中聯繫人按姓名首字母分類UILocalizedIndexedCollation

字母分組排序神器:UILocalizedIndexedCollation - (void)configureTableViewSection { // 實例化 UILocalizedIndexedCollatio

原创 iOS的成員變量、實例變量、屬性變量

一、版本對比      在以前的iOS版本中:      我們爲輸出口同時聲明瞭屬性和底層實例變量,那時,屬性是oc語言的一個新的機制,並且要求你必須聲明與之對應的實例變量,例如:      注意:(這個是以前的用法)

原创 Objective-C的initialize和init

Objective-C很有趣的一個地方是,它非常非常像C。實際上,它就是C語言加上一些其他擴展和一個運行時間(runtime)。 有了這個在每個Objective-C程序中都會起作用的附加運行時間,給了它一些動態的特性。C和C++沒有運行

原创 NSDate相差8個小時

直接看代碼,有詳細的註釋可以知道具體怎麼用: [objc] view plain copy   NSDate * date = [NSDate date];      NSLog(@"date:%@", date);  

原创 iOS8 模態視圖跳轉動畫

     UIPresentationController是iOS8以後出來的類,可以自定義模態視圖跳轉動畫。       我現在Storyboard創建個視圖控制器ShowInfoViewController,這就是我要跳轉到的視圖控制

原创 共享桌面iOS

記錄iOS用cotvnc實現的共享桌面,cotvnc本來用於Mac OS x 的庫,需要改些代碼用於iOS。 #pragma mark - VNC connect - (void)configureVNCShow {

原创 iOS UITableView和UITableViewCell滾動和NSTimer計時

        UITableViewCell上有個UILabel,顯示NSTimer實現的秒錶時間,手指滾動UITableViewCell的過程中,label是否刷新。         這是否刷新取決於timer加入到Run Loop中

原创 Swift簡單列表

得到一個UITableView實例: @IBOutlet var showHomeTBView: UITableView? 同樣的實現其數據源方法和代理方法: // MARK: - UITableViewDataSource U

原创 Storyboard搭建最基本的iOS app骨架

     用Storyboard搭建的iOS app骨架如圖1。                                                                                    

原创 WKWebView與JS交互

       WKWebView是蘋果在iOS8推出的,用來替換UIWebView,相比UIWebView,WKWebView速度更快,佔用內存更少。 Objective-C與JS交互的辦法大致有: 1、UIWebView攔截URL和WK

原创 iOS RunLoop

RunLoop表面意思運行循環,內部是由do-while循環實現。作用保證程序的持續運行,處理app的各種事件(滑動、定時器、selector等)、節省CPU資源。 ->如果沒有RunLoop,以main函數入口爲例: int main

原创 drawRect方法

    iOS在任何時候需要更新視圖都是通過調用drawRect方法。 ->視圖在屏幕上是新的 ->頂部視圖被移除 ->視圖的hidden屬性改變 ->明確調用setNeedsDisplay()和setNeedsDisplayInRect

原创 iOS中property和synthesize的詳細說明

        我們要在一個類中定義屬性,首先是要在.h文件中(或者說是在.m文件中的@interface的作用域中)使用關鍵字property來進行屬性的聲明,同時,在xcode的4.5版本以前,如果我們想要直接用屬性名前面加上下劃線構

原创 iOS的initWithFrame、initWithCoder、awakeFromNib

當我們需要自定義一個View控件時,會有 initWithFrame、initWithCoder、awakeFromNib 這三個系統方法,關於這三個方法何時調用,如何調用,有時候可能很多人會弄混淆。    下面我會就理論結合代碼舉例來說

原创 iOS updateViewConstraints

- (void)updateViewConstraints NS_AVAILABLE_IOS(6_0);  UIViewController中也新增了一個更新佈局約束的方法,在AutoLayout UIView相關API的筆記中,