原创 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的筆記中,