新聞中心
iOS四大控件
用于顯示文本,文本是對(duì)一些東西的說明。標(biāo)簽繼承于UIView。
成都創(chuàng)新互聯(lián)公司主營(yíng)府谷網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,府谷h5微信小程序開發(fā)搭建,府谷網(wǎng)站營(yíng)銷推廣歡迎府谷等地區(qū)企業(yè)咨詢
//1.創(chuàng)建(在系統(tǒng)中存在alloc)
UILabel*label = [[UILabel alloc] init];
//2.美化(設(shè)計(jì)位置大小背景顏色顯示文本等等)
/*
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è)置文本對(duì)齊方式枚舉類型
//NSTextAlignmentCenter居中對(duì)齊
//NSTextAlignmentRight居右
//NSTextAlignmentLeft居左
label.textAlignment=NSTextAlignmentCenter;
//textColor設(shè)置文本顏色
label.textColor= [UIColor blackColor];
//font設(shè)置字體大小默認(rèn)字體大小是17
label.font=[UIFont systemFontOfSize:14];
//numberOfLines設(shè)置多行顯示當(dāng)設(shè)置為0時(shí)自動(dòng)分行
label.numberOfLines= 0;
//shadowOffset設(shè)置陰影
//第一個(gè)數(shù)值為正則向右偏移否則向左偏移
//第二個(gè)數(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)建對(duì)象分配內(nèi)存并初始化
UIButton*button=[[UIButton alloc] init];
//2.美化
button.frame=CGRectMake(100, 100, 100, 40);
//設(shè)置背景顏色
button.backgroundColor= [UIColor blueColor];
//設(shè)置按鈕的標(biāo)題不能通過屬性設(shè)置
//第一個(gè)參數(shù)setTitle是按鈕的標(biāo)題字符串
//第二個(gè)參數(shù)forState是設(shè)定這個(gè)標(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ù)自身大小進(jìn)行添加)
//第一個(gè)參數(shù)setImage設(shè)置的圖片UIImage類型
//第二個(gè)參數(shù)forState是設(shè)置圖片這個(gè)圖片的狀態(tài)枚舉類型
//[button setImage:image forState:UIControlStateNormal];
//設(shè)置一般狀態(tài)下的圖片之后點(diǎn)擊圖片變暗設(shè)置高亮狀態(tài)下的圖片就可以消除這個(gè)bug
//[button setImage:image forState:UIControlStateHighlighted];
//設(shè)置按鈕的背景圖片(適應(yīng)大小,自動(dòng)拉伸)
[button setBackgroundImage:imageforState:UIControlStateNormal];
[button setBackgroundImage:imageforState:UIControlStateHighlighted];
//按鈕綁定方法
//第一個(gè)參數(shù)addTarget添加目標(biāo),點(diǎn)擊按鈕之后誰(shuí)去執(zhí)行按鈕的方法self自己執(zhí)行
//第二個(gè)參數(shù)action行為方法,按鈕綁定的方法
//第三個(gè)參數(shù)forControlEvents控制事件,按鈕在什么條件下去觸發(fā)綁定的方法枚舉//UIControlEventTouchUpInside單擊
//這里給按鈕綁定方法括號(hào)中相當(dāng)于聲明了方法。但是這個(gè)方法需要在這個(gè)類中實(shí)現(xiàn),否則運(yùn)行點(diǎn)擊按鈕會(huì)崩潰
[button addTarget:selfaction:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
//邊框?qū)挾?通過設(shè)置layer打點(diǎn)可以對(duì)控件進(jìn)行切邊,但是兩個(gè)屬性要同時(shí)使用才有效果
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è)置提示語(yǔ)
textfield.placeholder=@"請(qǐng)輸入密碼..";
//設(shè)置安全輸入。布爾類型設(shè)置YES;輸入內(nèi)容會(huì)變?yōu)樾『邳c(diǎn)
// ???textfield.secureTextEntry = YES;
//設(shè)置輸入框的文本(獲取輸入框的文本也是這個(gè)屬性)
textfield.text=@"123";
//設(shè)置清除按鈕的樣式枚舉樣式
//UITextFieldViewModeWhileEditing當(dāng)編輯時(shí)候存在(光標(biāo)一定在輸入框中的)//UITextFieldViewModeUnlessEditing除了編輯的時(shí)候(只要輸入框中有內(nèi)容)//UITextFieldViewModeAlways總是存在
textfield.clearButtonMode=UITextFieldViewModeWhileEditing;
//是否糾錯(cuò),輸入時(shí)會(huì)提示正確的內(nèi)容
textField.autocorrectionType=UITextAutocorrectionTypeNo;
//設(shè)置return鍵的樣式枚舉類型
textfield.returnKeyType=UIReturnKeySend;
//設(shè)置鍵盤的樣式
//UIKeyboardTypeNumberPad純數(shù)字鍵盤
textfield.keyboardType=UIKeyboardTypeNumberPad;
//enabled設(shè)置輸入框不可使用
textfield.enabled=YES;
//設(shè)置每次開始編輯時(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];
iOS常用刷新控件(下拉、上拉)詳解
首先說一下:UIActivityIndicator作為刷新控件
主要實(shí)現(xiàn)方法如下:
下拉刷新01-默認(rèn)
下拉刷新02-動(dòng)畫圖片
下拉刷新03-隱藏時(shí)間
下拉刷新04-隱藏狀態(tài)和時(shí)間
下拉刷新05-自定義文字
下拉刷新06-自定義刷新控件
上拉刷新01-默認(rèn)
上拉刷新02-動(dòng)畫圖片
上拉刷新03-隱藏刷新狀態(tài)的文字
上拉刷新04-全部加載完畢
上拉刷新05-自定義文字
上拉刷新06-加載后隱藏
上拉刷新07-自動(dòng)回彈的上拉01
上拉刷新08-自動(dòng)回彈的上拉02
上拉刷新09-自定義刷新控件(自動(dòng)刷新)
上拉刷新10-自定義刷新控件(自動(dòng)回彈)
IOS開發(fā)以及Tab Bar使用講解
為了更好理解使用用tabbar和切換視圖,我們創(chuàng)建一個(gè)Empty Application。
1、 打開Xcode ,新建項(xiàng)目
2、 創(chuàng)建View Controller
在項(xiàng)目上按花鍵+N創(chuàng)建新文件,創(chuàng)建 Objective-C class 文件,按Next按鈕,subClass 選UIViewController 。勾選上xib選項(xiàng)
以同樣方式創(chuàng)建另外三個(gè)ViewController ,RedViewController ,GreyViewController,YellowViewController。四個(gè)View準(zhǔn)備好了。那么Tabbar呢?
3、 創(chuàng)建TabBarController.xib文件,選擇創(chuàng)建Empty文件
這時(shí)候你發(fā)現(xiàn)創(chuàng)建的xib文件是空白的,不用慌,去右下角控件欄中把TabBar Controller拖過來就Ok了。
4、 關(guān)聯(lián)TabBarController.xib ,tabbarAppDelegate這兩個(gè)文件
在上圖中選擇File’s Owner,打開Identity Inspector,在Class一欄選擇tabbarAppDelegate
這樣,我們就可以創(chuàng)建TabBarController.xib 文件指向tabbarAppDelegate 文件的Outlet映射了。
5、 在Xcode中的工具欄的View菜單找到 打開Assistant Editor,使tabbarAppDelegate.h和TabBarController.xib 同時(shí)打開。
在xib文件上按住control鍵,往tabbarAppDelegate.h,創(chuàng)建Outlet.
彈出窗口輸入 rootController,點(diǎn)connect。
6、 添加代碼
打開tabbarAppDelegate.m,在didFinishLaunchingWithOptions方法中添加代碼:
1.- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
2. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
3. // Override point for customization after application launch.
4. [[NSBundle mainBundle] loadNibNamed:@"TabBarController" owner:self options:nil];
5. [self.window addSubview:self.rootController.view];
6. self.window.backgroundColor = [UIColor whiteColor];
7. [self.window makeKeyAndVisible];
8. return YES;
7、 往TabBarController.xib上添加Tab Bar Item,
把控件欄上的Tab Bar Item控件往TabBarController.xib上拖拽即可,一個(gè)放4個(gè)。
8 、關(guān)聯(lián)Tab Bar Item和***ViewController。
選擇其中一個(gè)Tab Bar Item,在右上角打開Identity Inspector,在Class中選擇BlueViewController:
然后,打開Attribute,在NIB Name選擇BlueViewController:
其他3個(gè)tab item重復(fù)類似的操作,選中對(duì)應(yīng)的ViewController,這樣在切換Tab標(biāo)簽時(shí),就可以切換到對(duì)應(yīng)的頁(yè)面。
9、 設(shè)置tab item的屬性
選中其中一個(gè)tab item ,會(huì)在右上角的屬性欄里看到如下信息
Badge是紅色圈圈里面有數(shù)字 ,表示有多少條信息的屬性
Identifier 是tab item的樣式,選custom是自定義,下面的是系統(tǒng)的樣式。我選了其中四種。
bar ITem 的title image在custom的樣式下能設(shè)置。
10 、剩下的3個(gè)Tab Item也做類似的設(shè)置即可。
現(xiàn)在基本完工,運(yùn)行看看結(jié)果如何。好吧,其實(shí)和第一第二個(gè)圖是一樣的`,這里就不放了。
11 、在viewDidLoad方法加Log觀察切換View
可以加寫日志看看對(duì)應(yīng)的View是什么時(shí)候運(yùn)行的。第一個(gè)運(yùn)行的View是BlueViewController,點(diǎn)擊其他的tab項(xiàng)時(shí),加載其他的view,加載一次之后下次點(diǎn)擊不再調(diào)用viewDidLoad。
1.- (void)viewDidLoad
2. [super viewDidLoad];
3. NSLog(@"BlueViewController");
4. // Do any additional setup after loading the view from its nib.
IOS開發(fā)要學(xué)習(xí)哪些方面的知識(shí)?
第一步:編程入門課
時(shí)間預(yù)計(jì):4個(gè)星期
推薦看公開課,Udacity也行,網(wǎng)易公開課也行,自己找一個(gè)面對(duì)對(duì)象語(yǔ)言(一般是JAVA, C++, Python)的課。我是在網(wǎng)易公開課看的斯坦福的CS106A,學(xué)的JAVA。
如果你純粹學(xué)iOS開發(fā),不推薦看哈佛CS50,CS50是給CS系的學(xué)生介紹整個(gè)計(jì)算機(jī)世界的框架,講的內(nèi)容比較多,進(jìn)度比較快,對(duì)iOS開發(fā)其實(shí)有點(diǎn)累贅了。(臣妾有點(diǎn)跟不上?。。。?/p>
計(jì)劃安排是一天一課,看課程要求的書(至少看完一本)及大部分作業(yè)。這一階段重點(diǎn)不是語(yǔ)法,而是以下3個(gè)目標(biāo)。
目標(biāo):
1. 讓自己對(duì)編程這件事感到適應(yīng)。
寫hello world。
怎么寫function, 怎么調(diào)用function。
全局變量,局部變量這類基本知識(shí)點(diǎn)。
都是基本的東西??纯磿瑢懚鄡蓚€(gè)程序就歐啦。
2. 掌握編程語(yǔ)言的基本要素。
編程語(yǔ)言4個(gè)要素:
a. 基本的數(shù)據(jù)類型:整數(shù),實(shí)數(shù),character, string, boolean
b. 基本的運(yùn)算符號(hào):+-×/++--那啥的
c. 怎樣輸入輸出
d. 怎樣控制程序:sequence,selection,loop
3. 了解編程范式
面對(duì)過程編程。
面向?qū)ο缶幊獭?/p>
第二步:上手iOS!
時(shí)間預(yù)計(jì):2星期
強(qiáng)烈推薦CS193P,老頭子講的超級(jí)好!我的很多東西(對(duì)象思維啥的)是在這里跟著做練習(xí)的時(shí)候才真正明白的(好啦,也可能是上一堂課練習(xí)做得少的原因)。如果等到9月應(yīng)該itunes U上會(huì)開始教iOS 7了。網(wǎng)易公開課的是2010年iOS 5版的,前10堂課,也行。(iTunes U上有完整的課)
CS193P說有prerequisite,一開始被嚇到,事實(shí)證明還是可以學(xué)下去的。頭兩節(jié)課一頭霧水,沒關(guān)系,把itunes U上的課件下載下來,把所有代碼打出來,然后一個(gè)個(gè)元素對(duì)應(yīng)之前學(xué)的語(yǔ)言匹配,再不懂先放著,繼續(xù)學(xué)后邊的,過幾天打多點(diǎn)代碼就懂了。
感覺學(xué)5、6堂課,一個(gè)星期左右就可以開始進(jìn)入下一階段自己做東西了。之后用啥學(xué)啥,每堂課都有主題的。速度慢點(diǎn)的同學(xué)們,這階段跟我一樣準(zhǔn)備兩個(gè)星期吧!
第三步:開發(fā)app!
時(shí)間預(yù)計(jì):2星期(本人...1個(gè)半月,實(shí)在不好意思說出口)
這個(gè)時(shí)間就可長(zhǎng)可短啦,還包括美工,交互啥的。堅(jiān)持要用啥學(xué)啥的原則,其實(shí)就是知道iOS SDK都有什么組件,每個(gè)組件有什么function而已。stackoverflow, Github, apple sample code多上,搜索引擎多用。如果有個(gè)師傅,這個(gè)階段真的是進(jìn)步神速。
好的!不出意外,你的第一個(gè)app就這么新鮮出爐了!從今天開始,成為一個(gè)冷艷逼格高尚的iOS開發(fā)者吧!
iOS表格控件開發(fā)
你做過表格頁(yè)面的開發(fā)嗎?
在網(wǎng)上看到兩個(gè)實(shí)現(xiàn)demo,可以說是兩種方式實(shí)現(xiàn)的。
大致就是頂部的航標(biāo)題用一個(gè)TopCollectionView封裝實(shí)現(xiàn),底部的表格使用JContentTableView封裝實(shí)現(xiàn),tableViewCell里是一個(gè)collectionView,每一行有一個(gè)collectionView,稍微自己處理下數(shù)據(jù)源還是可以使用的。
大致就是自己封裝了一個(gè)view,視圖由LeftTableView,RightTableView,TopScrollView實(shí)現(xiàn)。
RightTableViewCell里是scrollView,使用的按鈕實(shí)現(xiàn)的表格的效果??赐赀@個(gè)實(shí)現(xiàn)還是不推薦吧。
暫時(shí)只是學(xué)習(xí)了下實(shí)現(xiàn),后續(xù)有啥問題更新吧~~~
分享題目:ios開發(fā)常用控件,ios自定義控件
當(dāng)前URL:http://www.dlmjj.cn/article/phiisi.html