Time of Update: 2018-07-25
根據產品需求要求把這個介面導覽列的底線去掉,下個控制器還需要有底線. 使用下面的代碼實現 //在頁面出現的時候就將黑線隱藏起來 -(void)viewWillAppear:(BOOL)animated {
Time of Update: 2018-07-25
iOS面試題2 1、RunLoop是什麼。 一個RunLoop就是一個時間處理的迴圈,用來不停的調度工作以及處理輸入時間。 使用runloop的目的是讓你的線程在有工作的時候忙於工作,而沒工作的時候處於休眠狀態。runloop的設計是為了減少cpu無謂的空轉。 2、iOS中四種執行個體變數的範圍類型@private @protected @public @package @private(私人的) 執行個體變數只能被聲明它的類訪問
Time of Update: 2018-07-25
iOS面試題12- RunLoop是什麼。 RunLoop從字面上看是運行迴圈的意思,這一點也不錯,它確實就是一個迴圈的概念,或者準確的說是線程中的迴圈。有些程式是一個圈,這個圈本質上就是這裡的所謂的RunLoop,就是一個迴圈,只是這個迴圈裡加入很多特性。 首先迴圈體的開始需要檢測是否有需要處理的事件,如果有則去處理,如果沒有則進入睡眠以節省CPU時間。 Run loop 相當於 win32 裡面的訊息迴圈機制,它可以讓你根據事件/訊息(滑鼠訊息,鍵盤訊息,
Time of Update: 2018-07-25
首先,讓我們先對runtime的底層概念梳理下,若想看怎麼用可以翻到底部。 簡介 Runtime 又叫運行時,是一套底層的 C 語言 API,其為 iOS 內部的核心之一,我們平時編寫的 OC 代碼,底層都是基於它來實現的。比如: [receiver message];// 底層運行時會被編譯器轉化為:objc_msgSend(receiver, selector)// 如果其還有參數比如:[receiver message:(id)arg..
Time of Update: 2018-07-25
SEL 可以理解為C語言裡的函數指標。 SEL和id以及Class等都是OC裡的資料類型,和int、float的地位一樣。SEL變數可以儲存selector資料。可以通過@selector來擷取某方法的selector。 SEL afun = @selector(someMethodName:::::); 執行個體對象可以通過performSeletor方法來調用SEL方法。 由於在
Time of Update: 2018-07-25
一 、Selector(選取器)簡介 選取器是用來選擇一個方法來為一個對象 執行的名稱,或是在編譯原始碼時替換該名稱的 唯一識別碼的名稱。一個選取器本身不做任何事情。它簡單地識別了一種方法。唯一使選取器的方法名稱不同於一般字元串,編譯器確保選取器是獨特的。使一個選取器有用的是(在運行時)它就像一個 動態函數指標,對於一個給定的名稱,自動指向一個方法的實現,適用於任何一個它所使用的類。
Time of Update: 2018-07-25
添加類方法,然後直接調用 + (void)callPhoneStr:(NSString*)phoneStr withVC:(UIViewController *)selfvc{if (phoneStr.length >= 10) {NSString *str2 = [[UIDevice currentDevice] systemVersion];if ([str2 compare:@"10.2" options:NSNumericSearch] ==
Time of Update: 2018-07-25
// 通過網域名稱擷取IP地址 + (NSString *)IPAdressFromDomain:(NSString *)host { structhostent *hostent = gethostbyname([hostUTF8String]); if (!hostent) { herror("resolv"); returnNULL; } &
Time of Update: 2018-07-25
有時候我們開發的App會從網路上下載下來一些檔案,如PDF檔案等。 當使用者需要查看這些檔案的時候,我們就要提供一些方法載入這些檔案。 這裡舉例說明一下怎麼使用UIDocumentInteractionController類關聯到Adobe Acrobat pdf閱讀器開啟pdf檔案。 UIDocumentInteractionController的使用非常簡單,但是有一點需要注意,代碼如下: self.documentController =
Time of Update: 2018-07-25
- (void) viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; //狀態列高亮 self.navigationController.navigationBar.barStyle = UIStatusBarStyleLightContent; //導航漸層色 CAGradientLayer *gradientLayer = [CAGradientLayer layer];
Time of Update: 2018-07-25
如上圖所示: 自訂標籤,自行排列,可控制邊距,行距,列舉,實現整齊的自由排列,話不多說,看代碼 //.m首頁面#import "ViewController.h"#import "TagsFrame.h"@interface ViewController (){ TagsFrame *_frame; NSArray *_tagsArray;}@end@implementation ViewController-
Time of Update: 2018-07-25
項目中有個下載檔案功能,下載後需要能查看,總不能為每一種類型的檔案寫個查看功能吧. 好在iOS有個UIDocumentInteractionController ,可以幫你調起手機上已安裝的應用來查看檔案. 首先要配置一下info.plist檔案,告訴系統哪些類型的檔案需要使用UIDocumentInteractionController來開啟 也可以用在代碼裡設定UTI這個屬性,我沒試過哈, plist裡面可以一波帶走,簡單省事 總結一下差不多就這些吧:
Time of Update: 2018-07-25
實現如上圖效果 1,監聽截圖產生事件 [[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(userDidTakeScreenshot:)name:UIApplicationUserDidTakeScreenshotNotification object:nil]; 2,擷取截取到的圖片 //返回截取到的圖片- (UIImage *)imageWithScreenshot{
Time of Update: 2018-07-25
如果是網頁內容裡面的alert,我們可以等網頁載入完畢,也就是在webViewDidFinishLoad中執行下面的js代碼,就可以屏蔽alert了 [myWebView stringByEvaluatingJavaScriptFromString:@"window.alert=null;"]; 但上面的方法對於網頁onLoad事件裡面的alert就不起作用了 解決方案就是給UIWebView添加一個類別: 給工程添加JavaScriptAlert.h @
Time of Update: 2018-07-25
在IOS開發中會遇到各種操作事件,通過程式可以對這些事件做出響應。
Time of Update: 2018-07-25
在App的開發過程中,我們避免不了要開啟軟體中的檔案,例如:Excel檔案,Word檔案,圖片檔案等不同格式的檔案或者想要通過第三方的App來開啟這些檔案,那麼我們就要用到UIDocumentInteractionController和Quick Look來解決這些問題了。 在iOS系統跨App分享內容的幾種常用技術,比如 URL Scheme, AirDrop,UIDocumentInteractionController , UIActivityViewController
Time of Update: 2018-07-25
程式員每天接觸最多的就是對象(自己主動New的)和bug,而在開發中掌握一些調試技巧是很有用的,今天工作中遇到了一個bug搞得心好累,晚上就寫一點自己調試中會用到的方法。 Apple的編譯器是LLVM,編譯器在開發中會協助我們很多,就像記憶體管理現在我們可以設定編譯器的ARC為有效狀態,這樣我們就在也不用像原來那樣苦逼的進行記憶體管理了。 所以就先講一個和編譯器有關的調試技巧 一.LLDB調試命令
Time of Update: 2018-07-25
網路攝影機觀察一個矩形的圖片時往往只能得到一個扭曲的圖片: 原圖: 實際情況是網路攝影機經常從某個角度觀察圖片: 使用opencv的透視變換把圖片矯正為正視的角度,大概過程: 1、通過灰階、模糊和二值化得到: 2、然後對尋找圖片外包矩形輪廓,並尋找角點得到: 3、通過梯形四個角點和外包矩形的四個頂點得到變換矩陣,進行投射變換,最後得到:
Time of Update: 2018-07-25
說明:本次QQ空間更新了以前非常基礎的代碼 ios源碼下載: http://code.662p.com/list/12_1.html 更新內容 一 更新了登陸介面 二 增加了輸入時密碼時和登陸成功後播放音訊效果 三 增加了導航條漸隱的效果(和真實QQ空間的導航條一樣,首先透明,當tableview向上的時候,alpha增大,變得不透明) 四 增加了標籤欄和導覽列控制器,實現了底部標籤欄自訂 五 引入了社交動向更新, 六 增加了左邊抽屜效果 七
Time of Update: 2018-07-25
iOS的keychain服務提供了一種安全的儲存私密資訊(密碼,序號,認證等)的方式。每個ios程式都有一個獨立的keychain儲存。從ios 3.0開始,跨程式分享keychain變得可行。 使用蘋果官方發布的KeychainItemWrapper或者SFHFKeychainUtils很方便。