十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
ios開發(fā)中有兩種輸入控件,一種是僅支持但行輸入,支持placeholder的UITextField;另一種是支持多行輸入,但沒有placeholder的UITextView;看你是需要但行輸入,還是多行數(shù)如,進行選擇。

成都創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計,網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),微信小程序,10多年建站對成都柔性防護網(wǎng)等多個方面,擁有豐富的網(wǎng)站設(shè)計經(jīng)驗。
對于沒有相應(yīng)開發(fā)經(jīng)驗的人來說,分為三步。
第一步,學(xué)習(xí)開發(fā)語言O(shè)bjective-C。參考書看《Objective-C基礎(chǔ)教程》這本書就行了。書看到后來還需要補充一些關(guān)于面向?qū)ο蟮闹R,一般計算機專業(yè)的學(xué)生都是在學(xué)C++的時候接觸這類思想的。我推薦的那本參考書里也會有一些講解,進階的學(xué)習(xí)需要以后再去看資料,沒有特定教材,因為面向?qū)ο笫且环N編程思想,好在Objective-C本身就是這種思想的體現(xiàn),以后寫代碼的時候可以慢慢體會。學(xué)完《Objective-C基礎(chǔ)教程》,就會對iOS開發(fā)中所用到的基礎(chǔ)數(shù)據(jù)類有一個了解了,這時候應(yīng)該就可以寫簡單的無界面程序了。
第二步,學(xué)習(xí)iOS開發(fā)的軟件運行原理,軟件開發(fā)思想、規(guī)范以及一些蘋果公司提供的常用標(biāo)準(zhǔn)UI(User Interface,用戶界面)控件的使用方法。這個階段推薦的參考書是《iPhone 4與iPad開發(fā)基礎(chǔ)教程》,該書有中文譯本,雖然不是最新的iOS教程(最新的教程應(yīng)該是iOS7開發(fā)基礎(chǔ)教程,但是該書沒有中文譯本,如果英文過硬,看這本書當(dāng)然最好)。
第三步,熟悉常用第三方控件。因為蘋果本身開放性的局限,其提供的標(biāo)準(zhǔn)開發(fā)庫會有一些功能局限,智慧無線的網(wǎng)友們開發(fā)了各種各樣的第三方控件來實現(xiàn)他們想要的功能,可以使開發(fā)過程事半功倍。此部分為進階學(xué)習(xí)內(nèi)容,需要在掌握前兩步內(nèi)容的基礎(chǔ)上展開。這一步主要是試用,學(xué)習(xí)第三方代碼,要求閱讀第三方開發(fā)文檔以及代碼多一些??梢耘c開發(fā)同時進行,邊學(xué)變進行軟件開發(fā)。
除了參考書,這里推薦一個網(wǎng)站“Cocoachina蘋果開發(fā)中文站”里面分享了很多網(wǎng)友的代碼,并且可以對自己學(xué)習(xí)過程中遇到的問題進行討論。學(xué)習(xí)初期,中期以及后期進階都可以在這個論壇找到相應(yīng)的學(xué)習(xí)資料與代碼,并且可以通過發(fā)帖得到大神的技術(shù)指點。對應(yīng)的英文網(wǎng)站是Stackflow,此網(wǎng)站偏重實際開發(fā)問題的解決,交流語言為英文。
另外,斯坦福大學(xué)每年都開設(shè)iOS開發(fā)的公開課,從Objective-C的學(xué)習(xí)到最后的控件使用以及開發(fā)思想,架構(gòu)的學(xué)習(xí),都有涉獵,是很好的視頻教程。網(wǎng)易公開課中有以往課程配中文字幕的視頻,而最新的課程一般沒有中文字幕,并且,該課程選擇默認學(xué)生已經(jīng)有C++編程基礎(chǔ),可能對于初學(xué)者會困難一些。視頻屬于公開資源,在搜索引擎上搜索斯坦福、iOS等關(guān)鍵字,即可找到相應(yīng)資源。剛剛簡單搜索了一下,優(yōu)酷已經(jīng)提供iOS7開發(fā)的高清視頻專輯。
最后,無論學(xué)習(xí)哪個操作系統(tǒng)的軟件開發(fā),最關(guān)鍵還是要多多練習(xí),因此大量的寫練習(xí)代碼,看別人的優(yōu)秀代碼很重要。
用于顯示文本,文本是對一些東西的說明。標(biāo)簽繼承于UIView。
//1.創(chuàng)建(在系統(tǒng)中存在alloc)
UILabel*label = [[UILabel alloc] init];
//2.美化(設(shè)計位置大小背景顏色顯示文本等等)
/*
frame設(shè)置位置和大小。位置(x,y)大?。╳eight,hight)。
frame{x,y,weight,hight} 結(jié)構(gòu)體struct
frame包括origin/size:origin{x,y}size{weight,hight}
frame是CGRect類型(結(jié)構(gòu)體,包括CGPoint類型的origin和CGSize類型的size),origin包括CGFloat類型的x和y ;size包括CGFloat類型的size和height。
CGRectMake(#CGFloat x#, #CGFloat y#,#CGFloat width#, #CGFloat height#);設(shè)置大小和位置。
*/
label.frame=CGRectMake(0, 0, 100, 100);
//設(shè)置背景顏色
label.backgroundColor=[UIColor yellowColor];
//text屬性設(shè)置標(biāo)簽的文本
label.text=@"標(biāo)簽控件";
//textAlignment設(shè)置文本對齊方式枚舉類型
//NSTextAlignmentCenter居中對齊
//NSTextAlignmentRight居右
//NSTextAlignmentLeft居左
label.textAlignment=NSTextAlignmentCenter;
//textColor設(shè)置文本顏色
label.textColor= [UIColor blackColor];
//font設(shè)置字體大小默認字體大小是17
label.font=[UIFont systemFontOfSize:14];
//numberOfLines設(shè)置多行顯示當(dāng)設(shè)置為0時自動分行
label.numberOfLines= 0;
//shadowOffset設(shè)置陰影
//第一個數(shù)值為正則向右偏移否則向左偏移
//第二個數(shù)值為正則向下偏移否則向上偏移
label.shadowOffset=CGSizeMake(-2, -2);
//shadowColor設(shè)置陰影顏色
label.shadowColor= [UIColor redColor];
//3.添加(把控件貼到需要顯示的地方)
//addSubview添加子視圖這里讓標(biāo)簽添加到窗口上
//這里self.view叫做label的父視圖
[self.view addSubview:label];
用于控制行為的發(fā)生或者屬性的改變
//1.創(chuàng)建
//創(chuàng)建對象分配內(nèi)存并初始化
UIButton*button=[[UIButton alloc] init];
//2.美化
button.frame=CGRectMake(100, 100, 100, 40);
//設(shè)置背景顏色
button.backgroundColor= [UIColor blueColor];
//設(shè)置按鈕的標(biāo)題不能通過屬性設(shè)置
//第一個參數(shù)setTitle是按鈕的標(biāo)題字符串
//第二個參數(shù)forState是設(shè)定這個標(biāo)題所處的狀態(tài)枚舉類型
//UIControlStateNormal通常狀態(tài)
//UIControlStateHighLighted高亮狀態(tài)
//UIControlStateDisabled不可使用的狀態(tài)
//UIControlStateSelectwd選擇下的狀態(tài)
[buttonsetTitle:@"開始" forState:UIControlStateNormal];
[buttonsetTitle:@"關(guān)閉" forState:UIControlStateHighlighted];
//UIImage圖片類工具類繼承于NSObject
UIImage*image = [UIImage imageNamed:@"1.png"];
//設(shè)置按鈕圖片(根據(jù)自身大小進行添加)
//第一個參數(shù)setImage設(shè)置的圖片UIImage類型
//第二個參數(shù)forState是設(shè)置圖片這個圖片的狀態(tài)枚舉類型
//[button setImage:image forState:UIControlStateNormal];
//設(shè)置一般狀態(tài)下的圖片之后點擊圖片變暗設(shè)置高亮狀態(tài)下的圖片就可以消除這個bug
//[button setImage:image forState:UIControlStateHighlighted];
//設(shè)置按鈕的背景圖片(適應(yīng)大小,自動拉伸)
[button setBackgroundImage:imageforState:UIControlStateNormal];
[button setBackgroundImage:imageforState:UIControlStateHighlighted];
//按鈕綁定方法
//第一個參數(shù)addTarget添加目標(biāo),點擊按鈕之后誰去執(zhí)行按鈕的方法self自己執(zhí)行
//第二個參數(shù)action行為方法,按鈕綁定的方法
//第三個參數(shù)forControlEvents控制事件,按鈕在什么條件下去觸發(fā)綁定的方法枚舉//UIControlEventTouchUpInside單擊
//這里給按鈕綁定方法括號中相當(dāng)于聲明了方法。但是這個方法需要在這個類中實現(xiàn),否則運行點擊按鈕會崩潰
[button addTarget:selfaction:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
//邊框?qū)挾?通過設(shè)置layer打點可以對控件進行切邊,但是兩個屬性要同時使用才有效果
Button.layer.borderWidth= 1.0;
//邊框顏色
Button.layer.borderColor= [UIColor colorWithRed:197 /255.0green:197 / 255.0blue:197 / 255.0alpha:1].CGColor;
Button.layer.borderColor= (__bridgeCGColorRef_Nullable)([UIColor colorWithRed:197 /255.0green:197 / 255.0blue:197 / 255.0alpha:1]);
//3.添加
//添加到窗口addSubview上添加子視圖
[self.view addSubview:button];
用于輸入文本內(nèi)容
//1.創(chuàng)建內(nèi)存分配內(nèi)存并且初始化
UITextField *textfield =[[UITextField alloc] init];
//2.美化
//設(shè)置位置和大小
textfield.frame=CGRectMake(100, 100, 100, 40);
//設(shè)置背景顏色
textfield.backgroundColor= [UIColor redColor];
//borderStyle設(shè)置邊框類型枚舉類型
//UITextBorderStyleRoundedRect圓角矩形
//UITextBorderStyleline線性
//UITextBorderStyleBezel刃型
textfield.borderStyle=UITextBorderStyleRoundedRect;
//placeholder設(shè)置提示語
textfield.placeholder=@"請輸入密碼..";
//設(shè)置安全輸入。布爾類型設(shè)置YES;輸入內(nèi)容會變?yōu)樾『邳c
// ???textfield.secureTextEntry = YES;
//設(shè)置輸入框的文本(獲取輸入框的文本也是這個屬性)
textfield.text=@"123";
//設(shè)置清除按鈕的樣式枚舉樣式
//UITextFieldViewModeWhileEditing當(dāng)編輯時候存在(光標(biāo)一定在輸入框中的)//UITextFieldViewModeUnlessEditing除了編輯的時候(只要輸入框中有內(nèi)容)//UITextFieldViewModeAlways總是存在
textfield.clearButtonMode=UITextFieldViewModeWhileEditing;
//是否糾錯,輸入時會提示正確的內(nèi)容
textField.autocorrectionType=UITextAutocorrectionTypeNo;
//設(shè)置return鍵的樣式枚舉類型
textfield.returnKeyType=UIReturnKeySend;
//設(shè)置鍵盤的樣式
//UIKeyboardTypeNumberPad純數(shù)字鍵盤
textfield.keyboardType=UIKeyboardTypeNumberPad;
//enabled設(shè)置輸入框不可使用
textfield.enabled=YES;
//設(shè)置每次開始編輯時清除原輸入框的內(nèi)容
textfield.clearsOnBeginEditing=YES;
//鍵盤下去3種方法(失去第一響應(yīng)者。輸入框綁定方法。touchesBegan。)
//3.添加到窗口上
[self.view addSubview:textfield];
圖片視圖
//UIImageView專門用來顯示圖片的圖片視圖,繼承于uiview.
//1.創(chuàng)建
UIImageView *imageView = [[UIImageView alloc] initWithFrame:[[UIScreenmain Screen] bounds]];
//2.美化
//設(shè)置位置和大小
//imageView.frame = CGRectMake(40, 80, 200, 300);
//設(shè)置圖片
//創(chuàng)建一張圖片用于視圖圖片的顯示
UIImage *image = [UIImage imageNamed:@"6.png"];
//image圖片視圖的屬性用于設(shè)置圖片
imageView.image= image;
//userInteractionEnabled 設(shè)置用戶交互性
imageView.userInteractionEnabled=YES;
//3.添加
[self.view addSubview:imageView];