Time of Update: 2017-01-18
下面這種效果在ios應用中很常見:實現思路:1、建立頭部的視圖和tableview,需要注意的是tableview要設定contentInset,contentInsent 的頂部要和頭部視圖的背景圖的高度一樣,否則會有空隙(或是有遮擋)。myTableView.contentInset = UIEdgeInsetsMake(headRect.size.height-navHeight-navHeight, 0, 0,
Time of Update: 2017-01-18
一,代碼。- (void)viewDidLoad{[super viewDidLoad];// Do any additional setup after loading the view.NSString *sex=[self sexStrFromIdentityCard:@"139876456767892345"];NSLog(@"--sex--%@",sex);}//由社會安全號碼返回為性別-(NSString *)sexStrFromIdentityCard:(NSString
Time of Update: 2017-01-18
在程式中如果需要監聽電話狀態,可以引入CoreTelephony架構,這個架構套件含了電話相關的API,可以實現監測來電,查看電訊廠商資訊等功能。下面就是具體的實現監測來電的代碼。一定要把center寫成一個單獨的屬性,並且是強引用(strong),否則如果在viewDidLoad方法裡建立center,viewDidLoad方法調用完後center就銷毀了,就無法檢測到來電了。一個通話最初的狀態為呼入(CTCallStateIncoming)和呼出(CTCallStateDialing),當接
Time of Update: 2017-01-18
何為組合模式?
Time of Update: 2017-01-18
裝飾器模式可以在不修改代碼的情況下靈活的為一對象添加行為和職責。當你要修改一個被其它類包含的類的行為時,它可以代替子類化方法。一、基本實現下面我把類的結構圖向大家展示如下:讓我們簡單分析一下上面的結構圖,Component是定義一個對象介面,可以給這些對象動態地添加職責。ConcreteComponent是定義了一個具體的對象,也可以給這個對象添加一些職責。Decorator,裝飾抽象類別,繼承了Component,從外類來擴充Component類的功能,但對於Component來說,是無需知道
Time of Update: 2017-01-18
Time of Update: 2017-01-18
接下來我們要講圖片的塗鴉,我們分開一點一點拓展,先給圖片上劃線建立項目 起名testAddLine接下來我們在預設產生的ViewController中添加一張圖片 待用同時添加一個按鈕 複製代碼 代碼如下:- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view,
Time of Update: 2017-01-18
改變UITableView的header、footer背景顏色改變UITableView的header、footer背景顏色,這是個很常見的問題。之前知道的一般做法是,通過實現tableView: viewForHeaderInSection:返回一個自訂的View,裡面什麼都不填,只設背景顏色。但是今天發現一個更簡潔的做法:對於iOS 6及以後的系統,實現這個新的delegate函數即可:複製代碼 代碼如下:- (void)tableView:(UITableView *)tableView
Time of Update: 2017-01-18
一、案例示範本案例Demo示範的是一個首頁輪播的案例,支援手動輪播和自動輪播。知識點主要集中在UICollectionView和NSTimer的使用。 二、知識儲備2.1、UICollectionView橫向布局只需要設定UICollectionViewFlowLayout的scrollDirection為UICollectionViewScrollDirectionHorizontal即可。2.2、NSTimer的基本使用NSTimer的初始化:複製代碼 代碼如下: +
Time of Update: 2017-01-18
從 iOS9 起,新特性要求 App 訪問網路請求,要採用 HTTPS 協議。但是能不能判斷開發人員是否允許 HTTP 的請求,這樣就不會在發起請求時候失敗同時彈出以下資訊:App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist
Time of Update: 2017-01-18
命令模式封裝一個請求或行為作為一個對象。封裝的請求比原的更加靈活,可以在對象之間傳遞,儲存,動態修改,或放入一個隊列。那麼讓我們簡要的說一下命令模式的特點。 它能比較容易地設計一個命令隊列; 在需要的情況下,可以較容易地將命令記入日誌; 允許接收請求地一方決定是否要否決請求; 可以容易地實現對請求地撤銷和重做; 由於加進新地具體命令類不影響其他的類,因此增加新的具體命令類很容易;
Time of Update: 2017-01-18
備忘錄模式。顧名思義,備忘錄模式的初衷就是為了返回上一個狀態而設計的。從名字看起來一目瞭然,好吧,還是老樣子,先給出定義。備忘錄(Memento):在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外儲存這個狀態。這樣以後就可將該對象恢複到原先儲存的狀態。定義看起來搞的很專業,其實就是儲存上一個狀態,以便日後恢複用。好比是在玩遊戲,在打大Boss之前擔心第一次打不過,先存個盤,萬一玩兒完了,還可以恢複狀態重新PK。下面給出類結構圖。Originator(原發器):記錄當前時刻的內部狀態
Time of Update: 2017-01-18
項目中很多時候會碰到這個需求,實現多張圖片的無限迴圈輪轉,以前做過,項目中幾個地方的都用到了,當時沒有封裝,幾個地方都拷貝幾乎一樣的代碼,代碼複用性不好,今天沒事封裝了一下,使用起來比較簡單。
Time of Update: 2017-01-18
以前瀑布流的時候使用過UICollectionView,但是那時使用的是系統內建的UICollectionViewFlowLayout布局,今天看文章,看到UICollectionViewFlowLayout自訂相關的東西,於是動手寫了一個簡單圖片瀏覽的demo,熟練一些UICollectionViewFlowLayout自訂布局。#import <UIKit/UIKit.h>@interface JWCollectionViewFlowLayout :
Time of Update: 2017-01-18
最近做項目,碰到一種雙向滑動條,自己實現了一下,隨便寫一下思路,方便以後開發,避免重複寫代碼,以後粘貼就行了。封裝了一下,代碼如下:#import <UIKit/UIKit.h>typedef NSString* (^HLDoubleSlideViewSwitchStrBock)(CGFloat count);@interface HLDoubleSlideView : UIView@property(nonatomic,assign)CGFloat
Time of Update: 2017-01-18
有時候為了介面的美觀,可能需要添加第三方的字型庫。那個如何使用呢?1.將字型庫添加到項目中。2.在info.plist中添加新的一欄如下所示。如果需要添加多個字型的話,再點擊“+”,進行添加3.在target-->Build Phases-->Copy Bundle Resources中將info.plist中添加的字型添加上。
Time of Update: 2017-01-18
ableView是app開發中常用到的控制項,功能很強大,多用於資料的顯示。下面給大家介紹設定UITableView的全屏分隔線的兩種方法。具體詳情如下所示:如圖 添加如下代碼sTableView.separatorInset = UIEdgeInsetsZero;sTableView.layoutMargins = UIEdgeInsetsZero;cell.layoutMargins = UIEdgeInsetsZero;第二種方法如下圖
Time of Update: 2017-01-18
一、視圖切換 UITabBarController (分頁控制器) - 平行管理檢視 UINavigationController (導航控制器) - 壓棧出棧管理檢視 模態視窗二、UITabBarController分頁控制器 UITabBarController是為了利用 頁簽切換視圖 設計的控制器 該控制器有一個UITabBar控制項,使用者通過點擊UITabBar進行視圖切換 UITabBarController本身會不顯示任何視圖,它只是一個 容器控制器
Time of Update: 2017-01-18
我們都知道iOS開發中的UITextField有個placeholder屬性,placeholder可以很方便引導使用者輸入。但是UITextView卻沒有placeholder屬性。一、猥瑣的方法如何讓UITextView也有placeholder功能呢?今天給各位分享一個比較猥瑣的做法。思路大概是這樣的: 把UITextView的text當placeholder使用。 在開始編輯的代理方法裡清除placeholder。 在結束編輯的代理方法裡在設定placeholder。實現方法:1.
Time of Update: 2017-01-18
網上經常說iOS的通知機制是使用了觀察者模式,裡面有兩個角色,其一是poster(寄件者),另一個是observer(接受資訊的訂閱者)。但我認為重要的角色是通知中樞,它是整個通知機制的核心,有poster寄件者發送的訊息必定要到達通知中樞,再由通知中樞根據這個訊息被哪些observer訂閱者訂閱過,就把訊息往那些訂閱者去分發。整體可以與現在的電子郵件結構作類比的。但要額外說明一下,iOS的通知雖然也叫Notification通知,但是與Android中的通知是不一樣的,在Android中的通知