兩個輸入框和一個按鈕 _TextFiled = [[UITextField alloc]init];_TextFiled.frame = CGRectMake(0, 100, 320, 50); _TextFiled.textColor = [UIColor redColor]; _TextFiled.borderStyle = UITextBorderStyleRoundedRect; _TextFiled.font = [UIFont
iOS 升級到10之後,你會發現無法進行真機測試了。這種情況我在iOS 8.4 、9.3更新的時候也遇到過。原因是Xcode 的DeviceSupport裡面缺少了iOS 10的SDK。所以你可以選擇將Xcode更新到最新版本就可以了,目前是必須更新到Xcode 8。但是Xcode的更新速度你是知道的,快的時候一兩個小時,慢的時候可能要一兩天。而從網盤裡面下載Xcode更是不可行,教訓我們已經見識過了。 另外一個辦法就是,不是缺iOS 10的支援檔案嗎,我們直接把缺的檔案導進去不就可以了嗎。
做適合自動布局和自動適配的標註,UI配合 自動布局Auto Layout :Auto Layout Guide: Introduction,如果設計師瞭解html和css會容易理解一些,我自己也只是瞭解html的皮毛,設計師在設計介面的時候標註的資料最好不要寫固定的多少px,使用絕對位置那是iP4之前的方案,尤其現在出來了ip6和plus,如果現在還用絕對位置,設計師和工程師效率會很低,所以我們和工程師溝通的時候最好使用的是靠左,右多少,置中,及控制項在屏中大小及位置是幾分之幾之類的標註,
NSArray以及NSMutableArray(不可變數組和可變數組)是OC中的兩種數組,在開發中,經常會遇到需要清空數組的需求,這時候大多數人會下意識的想到nil這個方法。即使 array = nil,這樣不僅清空了數組,同時也把memory釋放了,這個object(對象)就不存在了,並不提倡這種方式(注釋:你在離開這個ViewController的情況下)。 使用nil將會刪除整個數組,而使用removeAllObjects(注釋:該方法主要針對可變數組)僅僅是刪除數組中的元素:
自訂NavigationBar 功能需求在NavigationBar上添加搜尋方塊,並對其位置提出了要求,系統中內建的TitleView不能滿足,因此查閱了資料,重寫了TitleView TitleView.h檔案,重寫TitleView繼承UIView #import <UIKit/UIKit.h>@interface TitleView : UIView@end TitleView.m檔案,重寫其父類的Frame #import
前言 最近一段時間,花了較多的精力在Android的自動化上面,但是看到網上有很多人都在研究以及學習iOS的自動化,所以昨天就抽空研究了下。做個筆記記錄下。 本文 brew 這邊提下brew的安裝,brew是Mac OS不可或缺的套件管理器 執行下面命令 ruby -e “$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)” node.js 下來是Node.js的安裝,
當需要發送一個本地推送的時候,我們需要為其設定fireTime即發送時間,網上好多範例程式碼只是簡單地將一個類似10秒之後的時間設上去,但我們可能更需要在自訂或使用者定義的某個特定的時間發送,其實這也不難,算是OC的知識點了——對常用類之時間類的運用。 首先我們需要一個具體的時間Date,我們就根據這個時間來將其拆分。這個時間通常來自使用者設定的時間。 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
在用UICollectionView展示資料時,有時我們希望將cell的間距調成一個我們想要的值,然後查API可以看到有這麼一個屬性: - (CGFloat)minimumInteritemSpacing { return 0;} 然而很多情況下我們會發現,這樣寫不能滿足我們的要求,cell之間仍然有一個不知道怎麼產生的間距。
繼上篇的心跳動畫,今天實現一個根據心跳路徑實現一個路徑動畫,讓某一視圖沿著路徑進行運動. 核心代碼 1-首先通過 drawRect 繪製心形路徑 - (void)drawRect:(CGRect)rect { // Drawing code // 初始化UIBezierPath UIBezierPath *path = [UIBezierPath bezierPath]; // 首先設定一個起始點 CGPoint startPoint
近期在項目中有一個需求是:8秒鐘內如果使用者沒有跟螢幕發生互動則提示一下使用者。 經過google和實踐找到一種實現方法步驟如下: 1.讓AppDelegate繼承UIApplication而不是UIResponser。 2.重載sendEvent方法。 - (void)sendEvent:(UIEvent *)event{ [super
//DDFileReader.h @interface DDFileReader : NSObject { NSString * filePath; NSFileHandle * fileHandle; unsigned long long currentOffset; unsigned long long totalFileLength; NSString * lineDelimiter; NSUInteger chunkSize;}@property
轉自: http://luoyl.info/blog/2012/02/apple_push_notification_guide/ 一.關於推播通知 推播通知,也被叫做遠程通知,是在iOS 3.0以後被引入的功能。是當程式沒有啟動或不在前台運行時,告訴使用者有新訊息的一種途徑,是從外部伺服器發送到應用程式上的。一般說來,當要顯示訊息或下載資料的時候,通知是由遠程伺服器(程式的提供者)發送,然後通過蘋果的推播通知服務(Apple Push
1、 三角函數 double sin (double);正弦 double cos (double);餘弦 double tan (double);正切 2 、反三角函數 double asin (double); 結果介於[-PI/2, PI/2] double acos (double); 結果介於[0, PI] double atan (double); 反正切(主值), 結果介於[
當開發人員做好一個應用程式之後,需要大量的測試,可能開發人員手裡沒有全部版本的手機,這時候就需要周圍朋友幫忙測試,下面介紹一下程式的安裝方法。 首先,手機擁有者需要先把標識符(UDID)傳給開發人員。 手機串連到itunes上: 然後開發人員把手機添加到測試手機驅動內。 第二、開發人員需要傳遞兩個檔案給測試者。 一個是項目的ipa檔案,一個是mobileprovision檔案,如下圖:
iOS橫屏擷取鍵盤高度為0、鍵盤側面彈出問題 在做視頻橫豎屏的時候,經常出現鍵盤的bug,大致分為兩種: 1、橫屏狀態下鍵盤從home鍵方向彈出 2、擷取鍵盤高度有時會出現為0的情況 註:可以使用IQKeyboardManager這個架構,匯入項目即可。而且不需要計算鍵盤高度改輸入框位置,螢幕內容會自動上移,非常好用。(如果需要橫屏操作,也需要按照以下方法來解決) 下邊講解為實現橫屏,並不會出現以上鍵盤bug: 1、在info.plist檔案中將 View
我們開發詳情頁面,有的時候需要計算webView或者WKWebView的高度,然後再計算scrollView的高度,把webView放到scrollView上面。但是計算webView高度這個過程很耗費時間,原因是以下代理,網頁徹底載入完才會計算出來高度,我們需要的是先算出高度,先出現網頁的文字,至於網頁的圖片,可以慢慢緩衝顯示全。這樣不至於白屏時間過長。 - (void)webView:(WKWebView *)webView didFinishNavigation:(null_
做SDK開發引入AFNetworking那麼多的檔案不太合適,所以這幾天在精簡AFNetworking,並共用中github上,https://github.com/yjh4866/SimplifiedAFN。 看AFN源碼的AFURLConnectionOperation.m檔案時發現一處代碼如下: __weak
文章來自:http://blog.csdn.net/caryaliu/article/details/7640197 ios cocoa 編程,從NSInputStream中讀入資料包括幾個步驟: 1.從資料來源建立和初始化一個NSInputStream執行個體 2.將輸入資料流對象配置到一個run loop,open the stream 3. 通過流對象的delegate函數處理事件 4. 當所有資料讀完,進行流對象的記憶體處理
+ (void)load; 這是應用程式啟動時(在didFinishLaunchingWithOptions之前)就會調用的方法,當load調用的時候,並不能保證所有類都載入完成且可用,必要時還要自己負責做auto release處理; 只會被調用一次(不同類),相當於程式運行前把程式中所有類的load方法調用一遍,之後再不調用; 對於一個類而言,沒有load方法實現就不會調用,不會考慮對NSObject的繼承; 一個類的load方法不用寫明[super load]
// 這個方法的模板- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ //cell的標示符 // 以後表格中可能有不同樣式的cell, 區分樣式的cell static NSString *cellID = @"cell"; //擷取一個以前用過的cell, 現在沒有用 //