1.通過按鈕的事件來設(shè)置背景色
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的安平網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *button1 = [[UIButton alloc] initWithFrame:CGRectMake(50, 200, 100, 50)];
[button1 setTitle:@"button1" forState:UIControlStateNormal];
button1.backgroundColor = [UIColor orangeColor];
[button1 addTarget:self action:@selector(button1BackGroundHighlighted:) forControlEvents:UIControlEventTouchDown];
[button1 addTarget:self action:@selector(button1BackGroundNormal:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button1];
}
// button1普通狀態(tài)下的背景色
- (void)button1BackGroundNormal:(UIButton *)sender
{
sender.backgroundColor = [UIColor orangeColor];
}
// button1高亮狀態(tài)下的背景色
- (void)button1BackGroundHighlighted:(UIButton *)sender
{
sender.backgroundColor = [UIColor greenColor];
}
1、IOS是蘋果自己開發(fā)的,貌似從歷史上追索是從FreeBSD上開始的,F(xiàn)reeBSD又是一Unix衍生,ios內(nèi)核應(yīng)該是C語言開發(fā)的,不是開放的,個(gè)人覺得內(nèi)核是C,上層還是C++寫的。至于Object-C,那是ios上開發(fā)軟件用的開發(fā)語言。
2、c語言的優(yōu)點(diǎn):
1)簡潔緊湊、靈活方便。C語言一共只有32個(gè)關(guān)鍵字,9種控制語句,程序書寫形式自由,區(qū)分大小寫。把高級(jí)語言的基本結(jié)構(gòu)和語句與低級(jí)語言的實(shí)用性結(jié)合起來。
2)運(yùn)算符豐富。C語言的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符。C語言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。
3)數(shù)據(jù)類型豐富。C語言的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。
4)表達(dá)方式靈活實(shí)用。C語言提供多種運(yùn)算符和表達(dá)式值的方法,對問題的表達(dá)可通過多種途徑獲得,其程序設(shè)計(jì)更主動(dòng)、靈活。
5)允許直接訪問物理地址,對硬件進(jìn)行操作。
6)生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高C語言描述問題比匯編語言迅速,工作量小、可讀性好,易于調(diào)試、修改和移植,而代碼質(zhì)量與匯編語言相當(dāng)。
7)可移植性好。C語言在不同機(jī)器上的C編譯程序,86%的代碼是公共的,所以C語言的編譯程序便于移植。
8)表達(dá)力強(qiáng)。C語言有豐富的數(shù)據(jù)結(jié)構(gòu)和運(yùn)算符。包含了各種數(shù)據(jù)結(jié)構(gòu),如整型、數(shù)組類型、指針類型和聯(lián)合類型等,用來實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)的運(yùn)算。
9)C語言能直接訪問硬件的物理地址,能進(jìn)行位(bit)操作。兼有高級(jí)語言和低級(jí)語言的許多優(yōu)點(diǎn)。它既可用來編寫系統(tǒng)軟件,又可用來開發(fā)應(yīng)用軟件,已成為一種通用程序設(shè)計(jì)語言。另外C語言具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。且計(jì)算功能、邏輯判斷功能強(qiáng)大。
3、C語言的缺點(diǎn):
1)C語言的缺點(diǎn)主要表現(xiàn)在數(shù)據(jù)的封裝性上,這一點(diǎn)使得C在數(shù)據(jù)的安全性上有很大缺陷,這也是C和C++的一大區(qū)別。
2) C語言的語法限制不太嚴(yán)格,對變量的類型約束不嚴(yán)格,影響程序的安全性,對數(shù)組下標(biāo)越界不作檢查等。從應(yīng)用的角度,C語言比其他高級(jí)語言較難掌握。也就是說,對用C語言的人,要求對程序設(shè)計(jì)更熟練一些。
做開發(fā)時(shí),總是使用系統(tǒng)默認(rèn)的白色背景會(huì)顯得有些生硬,所以當(dāng)我們以展示圖片為目的時(shí),不妨將圖片放大、再做高斯模糊處理以作為背景。
我把這個(gè)處理過程用 Swift 封裝成了一個(gè)函數(shù),供大家參考。
三個(gè)參數(shù)分別為:image(原始清晰圖片)、view(你需要將生成的模糊背景插入在這個(gè)view的下層當(dāng)做背景)、blurRadius(高斯模糊處理的模糊半徑)
其中 let context = CIContext(options: nil)
這一句,在真機(jī)測試時(shí),會(huì)引起控制臺(tái)報(bào)錯(cuò)
這是蘋果的一個(gè) Bug ,想要回避這個(gè)信息輸出可以用下面這一句進(jìn)行替換:
let context = CIContext(options:[kCIContextUseSoftwareRenderer : true])
這句可以使圖片渲染工作在 CPU 而非 GPU 完成,從而繞過這個(gè) Bug,但是會(huì)引起效率下降,耗時(shí)大大增加,不推薦使用。
使用效果展示:
1、在開發(fā)過程中遇到無法修改UITableView背景色和cell背景色,均想修改為clearColor
2、修改成功的方法
記錄一下,開發(fā)中遇到的問題
//去除圖片的白色背景
// 使用顏色生成圖片
-(UIImage ) createImageWithColor:(UIColor ) color
{
CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return theImage;
}