日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS零散知识点

發布時間:2024/7/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS零散知识点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.通過UIDevice類的model屬性可以得知當前設備是什么,比如模擬器、iPhone、iPad還是iPod。
2.使屏幕不變暗:[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
3.UILabel多行文本(1)UILabel可以顯示多行文本,它有一個屬性叫numberOfLines,可以制定行的數量,超過則不顯示。(2)當Label的尺寸超過指定行數對應的高度時,文字會在UILabel的垂直中間的位置上,上下會留白。(3)當numberOfLines屬性指定為0時,則不限制行數。這時候就需要根據顯示的文本內容來確定對應顯示區域的大小,然后動態設置label的size。(4)使用這個特性,會比UITextView有一個好處:UITextView顯示內容時上下左右會留空白,造成在確定其Frame時會存在誤差。而UILabel則不存在這個問題。
4.UISegmentControl類中兩個沒有用過的方法:可以對UISegmentControl界面進行定制(1)-setWidth:forSegmentAtIndex:(2)-setImage:forSegmentAtIndex;
5.去掉iOS桌面圖標上的高亮效果的辦法:在info.plist文件中加一個字段,Icon already includes gloss effects,選中,意思就是圖標已經包含高亮效果,不用系統再自動添加了。
6.UITableView有兩個屬性,tableHeaderView,tableFooterView,用來添加表視圖的頭和尾,它不同于section的頭和尾。
7.給控件加邊框,圓角:(1)添加QuartzCore.framework(2)代碼:[view.layer setBorderColor:[[UIColor redColor] CGColor]];[view.layer setBorderWidth:1.0f];[view.layer setCornerRadius:8.0f];[view.layer setMaskToBounds:YES];
8.自定義導航欄視圖的幾個方法:(1)添加自定義title視圖:self.navigationItem.titleView = xxx;(2)添加左右自定義按鈕:? ? UIBarButtonItem *btItem = [[UIBarButtonItem alloc] initWithCustomView:xxx];? ? self.navigationItem.rightBarButtonItem = btItem;? ? 或者:? ? self.navigationItem.rightBarButtonItems = [NSArray arrayWithObject:btItem];(3)定制導航欄背景:? ? iOS5之后,使用UINavigationBar的setBackgroundImage:forBarMetrics:方法可以定制導航欄背景。? ? iOS5之前,新增一個UINavigationBar的擴展,重寫drawRect方法,代碼如下:? ? -(void)drawRect:(CGRect)rect { ?? ? ? ? UIImage *image = [UIImage imageNamed: @"navBarBK.png"]; ?? ? ? ? [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; ?? ? }
9.裁剪圖片:UIImage *image = xxx;CGImageRef newImageRef = CGImageCreateWithImageInRect(image.CGImage,rect);UIImage *newImage = [[UIImage alloc] initWIthCGImage:newImageRef];
10.讓iOS程序在iOS4.0以及之后沒有多任務,即按下home鍵之后程序直接退出:在info.plist中加入一個字段,Application does not run in bacground,打鉤。
11.獲取info.plist的內容:[[NSBundle mainBundle] infoDictionary];
12.屏幕截圖:UIView *currentView = xxx;UIGraphicsBeginImageContext(currentView.bounds.size);[currentView.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();//保存到相冊UIImageWriteToSavedPhotosAlbum(viewImage,nil,nil,nil);
13.Security.framework(1)使用Security.framework可以實現鑰匙串訪問,讀寫,但是只能在真機上使用,模擬器會報錯??梢杂脕肀4嬉恍┧矫軘祿?#xff0c;不用再為加密煩惱。(2)蘋果封裝了KeychainItemWrapper類,用來對鑰匙串進行操作。該類通過一個表明身份的字符串和訪問組字符串來初始化。實例方法如下:- (id)initWithIdentifier: (NSString *)identifier accessGroup:(NSString *) accessGroup;- (void)setObject:(id)inObject forKey:(id)key;- (id)objectForKey:(id)key;- (void)resetKeychainItem;(3)鑰匙鏈不會隨著程序的卸載或者固件重裝被清除,可以用來維護持久的信息,例如可以判斷某臺設備是否是第一次安裝某軟件。
14.loadView和ViewDidLoad的區別(1)viewDidLoad方法在控制器view創建成功之后調用,不管是通過nib初始化還是通過loadView方法初始化的。(2)當view被請求,但是view為nil時,loadView方法就會被調用,一般用于使用代碼來生成控件。
15.在應用中加入WIFI提示框的方法:如果iOS程序用到了WIFI,在沒有WIFI網絡連接的情況下,需要WIFI連接提醒,只需要在info.plist中加入如下兩個鍵值即可:Applicatioin uses Wi-Fi ? ?YESSBUsesNetWork ? ? ? ? ? ? ? ?3
16.通過字符串加載類名:id object = [[NSClassFromString(@"Class1") alloc] init];?效果和下面一樣:id object = [[Class1 alloc] init];但是如果Class1不存在,上面的方法會返回nil,而下面的方法會報錯。
17.UIWebView的使用:(1)使用webView的loadRequest方法,可以加載本地或者網絡的html文件。(2)使用UIWebViewDelegate,可以獲取瀏覽器網頁開始加載和加載完畢事件,從而可以用來根據這些狀態添加我們自己的UI界面,比如等待視圖。也可以獲取瀏覽器當前打開網頁的網址,根據當前網址,我們也可以有自己的UI動作。(3)通過stringByEvaluatingJavaScriptFromString方法,可以在瀏覽器控件外部調用JavaScript腳本。
18.當應用crash時,捕獲錯誤日志:(1)首先聲明發生異常時的回調函數,格式如下:? ? ?void MyUncaughtExceptionHandler(NSException *exception) {}? ? ?通過NSException對象,可以獲取錯誤時間,錯誤原因,錯誤堆棧。()設置捕獲回調:NSSetUncaughtExceptionHandler(&MyUncaughtExceptionHandler);
19.MPMoviePlayerController可以播放在線視頻和音頻(只支持Http Live Stream協議),以及本地的視頻音頻。支持的格式僅限于蘋果規定支持的格式。
20.@Class和#import的區別:(1)import會包含這個類的所有信息,包含實例變量和方法。而@Class只是告訴編譯器,聲明的是類的名稱,至于這個類是如何定義的,先不用考慮,后面再告訴你。(2)一般@Class只放在interface中,在實現類中,同時需要用@import來告訴編譯器類里面的具體內容。(3)使用@Class會增加編譯效率。(4)使用@Class可以解決循環依賴關系的問題。
21.StringWithFormat和@"str"的區別:(1)@"str",沒有引用計數效果,引用計數為-1,調用retain也沒用。(2)stringWithFormat使用自動釋放,創建完成時,引用計數為1。
22.iOS中,int是4個字節,short是2個字節,char是1個字節,long int也是4個字節。一個字節8位。
23.@public 、@protected 、@private只會影響它的子類的訪問權限,不會影響到類本身變量的訪問權限。
24.在LLVM3.0編譯器中,支持將實例變量寫到實現文件中,可實現私有的成員變量。示例代碼如下:@implementation MyViewController{? ? NSString *name;}
25.set方法的寫法:if(_value != value){ [_value release]; _value = [value retain];}
26.RunLoop監視操作系統的輸入源,如果有事件數據,runLoop就發送消息,通知各個對象。它是一個一個事件處理的循環,用來不停的調度工作以及處理輸入事件。使用它的目的是讓你的線程在有工作的時候忙于工作,而沒工作的時候處于休眠狀態。一個UI事件,一個Timer call,delegate call,都會是一個RunLoop。
27.自動釋放池的release和drain的區別:(1)release在GC(自動內存回收)環境下是一個空操作,不做任何事情。(2)在引用計數環境下,drain的行為和release是一樣的,但是在GC環境下,它會調用object_collect_if_needed來觸發GC。
28.NSInteger和int的區別:在蘋果的API實現中,NSInteger時一個封裝,它會識別當前操作系統的位數,自動但會最大的類型,位數不一樣。封裝可以查看蘋果文檔。
29.進程間通訊的方式(iOS中基本用不到):管道,信號量,共享內存段,消息隊列,以及socket。
30.線程通訊的方式:performSelector。比如:performSelector:onThread:withObject:waitUntilDone:performSelectorOnMainThread:withObject:waitUntilDone:cancelPreviousPerformRequestsWithTarget:selector:object:
31.如果一個NSArray中保存的是同種類型的對象,并且想對其中的每個對象都調用一個方法,可以使用makeObjectsPerformSelector:withObject:方法。
32.NSTime不是一個精準的定時器,當操作耗時很長或者阻塞,就可能錯過一個點。
33.進程和線程的區別:(1)線程是CPU操作的最小單元,進程是系統資源分配時的最小單元。(2)線程間共享內存空間,進程的內存空間時獨立的。(3)進程中包含線程。
34.UIScrollView主要使用了裝飾器模式。Cocoa通過利用NSClipView實例裝飾對象提供了滾動技術,讓用戶控制對象的哪個部分是可見的。裝飾器模式通過復合給對象添加了公共的可重用能力,用于替換通過子類化添加這些能力,可以在運行時添加或者配置裝飾器。
35.SQLite相關api:sqlite3_open、sqlite3_prepare_v2、sqlite3_bind_xxx、sqlite3_step、sqlite3_column_xxx、sqlite3_finalize、sqlite3_close。
36.類目(Catagory)(1)使用類目,可以在不子類化的情況下,給一個類添加功能。(2)當類目中的方法名和類中的方法名沖突時,類目的方法會比類以及子類中方法的優先級高。(3)如果不提供類名,則類目中定義的方法被視為必須實現的API,如果缺少實現代碼,則編譯器會報警。
37.將NSLog的內容重定向至文件:freopen([logFilePath cStringUsingEncoding:NSASCCIIEncoding], "a+", stderr);
38.extern關鍵字使用(1)首先申明一個變量,比如:NSArray *resArray; 然后extern NSArray *resArray;? ? ?這樣,在項目里面的任何類里面,都可以訪問resArray這個變量。? ? ?此方法可以在一些需要共享數據的場合使用。(2)extern "C",表示編譯生成的內部符號使用c約定,大多出現在交叉C編譯環境中。? ? __cplusplus只在c++中有定義。
39.從iOS4.0開始,iOS類庫增加了對正則表達式的支持,類名為NSRegularExpression。
40.從iOS5.0開始,iOS類庫增加了對JSON的支持,類名為NSJsonSerialization。
41.在編譯環境中添加"NSZombieEnabled"變量,并且置為YES,可以捕獲EXE_BAD_ACCESS錯誤,能讓錯誤提示的更精細。但是添加了此變量之后,即使對象的引用計數為0,內存也不會被回收,應用程序的內存使用會一直增加。所以在編譯完成之后,要把這個變量刪掉。
42.自定義TableViewCell的背景顏色和選擇后的顏色:將TableViewCell的backgroundView和SelectBackGroundView修改成指定的View。
43.tableView:willDisplayCell:forRowAtIndexPath方法:這個方法在TableView要使用cell去繪制row之前調用,這個方法給代理機會去設置基于狀態的屬性,并且早于TableView,比如選擇狀態的顏色或者背景的顏色等。
44.修改UIAlterView默認的Frame高度,使用委托:-(void)willPresentAlertView:(UIAlertView*)alertView {? ? alertView.frame =CGRectMake(5.f,1.f,100.f,200.f);}
45.由于TableView的cell重用機制,導致多個圖片下載事件的回調會指向同一個cell。解決辦法:在圖像下載事件中記錄當前cell的row,同時將cell的tag設置為row,當圖片下載完畢時,先判斷下載事件中記錄的row和cell的tag是不是一致,如果一致,則顯示圖片到cell上,如果不一致,則不顯示圖像。
46.UIScrollView可以放大縮小顯示的內容,它有一個參數用來控制縮放的幅度,zoomScale,默認是1.0。
47.讓UIScrollView支持捏合動作:(1)實現代理方法:viewForZoomingInScrollView,返回當前需要伸縮的視圖對象,比如UIImageView。當兩個手指捏合時,視圖對象的size的值將會被改變。(2)設置scrollView的最大和最小伸縮倍數,maximumZoomScale、minimumZoomScale。(3)重寫scrollView的layoutSubviews方法,在此方法中,可以根據需要重置視圖對象的x和y值,后者根據視圖的size屬性,重置scrollView的contentSize。
48.ios自定義鍵盤:UITextField有兩個屬性:inputView,inputAccessoryView。(1)inputView含義:輸入界面。當你想要某輸入框的輸入鍵盤使用自定義的鍵盤的話,可以自己創建一個鍵盤,然后把鍵盤視圖賦值給這個屬性。當點擊此輸入框時,彈出的鍵盤就是我們自己的鍵盤了。(2)inputAccessoryView含義:輔助輸入界面,一般放在鍵盤的上方??梢栽黾宇愃朴?#34;上一項"、"下一項"、"完成"等功能。

總結

以上是生活随笔為你收集整理的iOS零散知识点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产伦理在线观看 | 激情欧美综合 | 天天操天天射天天爱 | 免费黄色小视频 | 一卡二卡在线视频 | 亚洲精品中文无码AV在线播放 | 久久不射视频 | 国产xxx69麻豆国语对白 | 91亚洲国产成人久久精品麻豆 | 国产欧美日韩精品在线观看 | 日韩激情av在线 | 三年大片在线观看 | 久久视频免费看 | 男女日批免费视频 | 亚洲精品视频一区二区三区 | 四虎影视免费 | 国产山村乱淫老妇女视频 | 香蕉视频网页版 | 国产真实的和子乱拍在线观看 | 国产又黄又猛的视频 | 国产精品视频免费看 | 午夜视频在线观看一区 | 男女在线观看视频 | 久久综合久久久 | 精品一区二区三区免费毛片 | 欧美毛片基地 | 日本欧美一级 | 成年人免费观看视频网站 | a男人天堂 | 亚洲av无码成人精品国产 | 九九精品免费视频 | 国产做爰高潮呻吟视频 | 免费毛片在线播放免费 | 久久久精品人妻一区二区三区 | 最近中文字幕在线观看视频 | 国产aa | 无码 制服 丝袜 国产 另类 | 国产欧美日韩精品在线观看 | 欧美精品乱码99久久蜜桃 | 欧美人体视频一区二区三区 | 国产欧美精品久久久 | 欧美亚洲视频在线观看 | 国内成人综合 | 欧美一级片黄色 | 日本中文字幕影院 | 亚洲视频在线观看网站 | 不卡中文字幕在线 | 色综合综合 | 97视频精品 | 亚洲色图偷拍视频 | 男人添女人下部高潮全视频 | 九九热免费在线 | 秒拍福利视频 | 午夜大片| www.com日本 | 国产精品无码一区二区三区三 | 久久国产福利一区 | 成人精品视频一区二区三区尤物 | 久久免费精品国产 | 久久精品黄aa片一区二区三区 | 国产精视频 | 国产一级啪啪 | 成人熟女一区二区 | 日本不卡一区 | 超在线视频 | 国产91大片 | 亚洲AV无码国产精品播放在线 | 欧美日韩在线免费看 | www.四虎精品 | 精品成人在线观看 | 亚洲一区二区精品在线 | 日本在线视频一区二区三区 | 91精品国产综合久久香蕉922 | 黄大片18满岁 | 日日夜夜网 | 国产精品无码乱伦 | 精品一区二区三区视频 | 97视频人人| 91成人在线观看高潮 | 天天操天天操 | 女av在线| 欧美xxxx非洲| 亚洲AV乱码国产精品观看麻豆 | 亚洲国产欧美一区二区三区深喉 | 黄色片久久久 | 国产一区二区福利 | 午夜精品一区二区三区在线播放 | 销魂美女一区二区 | 日本深夜福利 | 美国黄色片网站 | 先锋成人 | 欧美日韩精品久久久免费观看 | 日韩精品一区二区三区视频 | 爱露出| 午夜伦视频 | 亚州久久久 | 亚洲国产精品久久精品怡红院 | 91在线视频播放 | 午夜毛片视频 |