日韩性视频-久久久蜜桃-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 | 日韩欧美一本 | 亚洲精品乱码久久久久久自慰 | 婷婷六月网 | 男女交性视频 | 夜色一区| 一级黄色美女视频 | 69xx欧美 | 好吊色视频一区二区 | 精品久久久视频 | 超清av| 自拍偷拍亚洲欧洲 | 欧美又粗又深又猛又爽啪啪九色 | 午夜a级片 | 深夜视频在线看 | 大乳女喂男人吃奶 | 国产一区二区久久久 | 成人免费看高清电影在线观看 | 色丁香六月 | 国模小丫大尺度啪啪人体 | 日本乱大交xxxx公交车 | 亚洲成人激情视频 | 爱情岛论坛亚洲品质自拍 | 日韩午夜激情 | av美女网站| 成人午夜激情网 | av免费在线观看网址 | 国产三级国产精品 | 国产视频一区二区在线播放 | 欧美中文| 亚洲com | 久久久亚洲成人 | 欧美另类z0zx974 | 日本人添下边视频免费 | 日韩精彩视频 | 成人免费视频播放 | 日本成人在线免费观看 | 一级空姐毛片 | 婷婷开心激情网 | 无码专区久久综合久中文字幕 | 黄色在线视频网站 | 我爱avav色aⅴ爱avav | 五月婷婷色丁香 | 看毛片网站| 国产乱xxⅹxx国语对白 | 国产精品一线天 | 成 年人 黄 色 片 | av电影在线网站 | 天天激情综合 | 亚洲欧美一区二区三区在线 | 内地级a艳片高清免费播放 91在线精品一区二区 | 国产成人精品网站 | 国产三级理论 | 日本一二三视频 | 日b影院 | 精品人妻无码中文字幕18禁 | 女女高潮h冰块play失禁百合 | 国产制服91一区二区三区制服 | 91在线视频免费看 | 国产主播福利 | 超碰97国产精品人人cao | 99人人爽 | 国产高清自拍一区 | 女人又爽又黄免费女仆 | 91免费在线看 | 成人尹人| 亚洲国产精品一 | 视频久久 | 免费的黄网站 | 北条麻妃久久精品 | 免费av动漫 | 在线视频啪 | 精品国产伦一区二区三 | 一个色综合导航 | 成人av影院 | 日韩视频免费观看 | 精品国产系列 | 在线五月天 | 四虎影成人精品a片 | 免费操人视频 | 国产精品老牛影视 | 成人国产av一区二区三区 | 日韩欧美视频免费在线观看 | 日韩有码中文字幕在线观看 | jizzjizz美国 | 国模一区二区三区 | 国产精品人成在线观看免费 | 久久亚洲av永久无码精品 | 日本一区二区在线播放 | 日韩视频免费观看高清完整版在线观看 | 中文字幕人成人乱码亚洲电影 | 青春草av| 51嘿嘿嘿国产精品伦理 | 少妇2做爰交换朴银狐 | 97超视频 | 午夜看看| 超碰在线中文 | 私人网站 | 国产精品一区二区久久国产 |