国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS開發學習筆記(二)

2019-11-07 23:25:00
字體:
來源:轉載
供稿:網友

++ xib ++ xib文件實質是一個xml文件,類似于android用于描述界面;要先設置File’s Owner中的class屬性(目的是在xib中能找到Owner中的方法,類似android中xml與View的綁定);并建立File’s Owner跟控件間的聯系 [[NSBundle mainBundle] loadNibNamed:@”RowView” owner:self options:nil] 加載過程: 解析xib的xml文件 —-> 創建Objects下所有對象(xml所有控件)—->根據xml的控件及設定的屬性生成設置的相關代碼(同手動創建控件的一樣)—->添加連線的事件(同手動用代碼創建的一樣)—-> 返回創建好的對象數組 [即是解析xib文件,根據xml描述生成創建控件、設置屬性、添加事件的代碼,并放在一個數組中返回] [但一般不用xib的File’s Owner綁定控件中的事件,這樣耦合度高。使該View不能被其他ViewController使用;可使用Tag取得控件并添加事件;但常用的是MVC模式,即一個xib用一個view來控制(類似于android中創建一個view.xml然后創建一個View類,通過該View類控制view的生成及數據填充)如下:

+(id)rowView{ //可在這里面設置圖標和label return [[NSBundle mainBundle] loadNibNamed:@"RowView" owner:nil options:nil][0];}+(id)rowView:(NSString *)icon name:(NSString *)name{ UIView *view = [RowView rowView]; UIButton *iconBtn = (UIButton *)[view viewWithTag:1]; [iconBtn setImage:[UIImage imageNamed:icon] forState:UIControlStateNormal]; UILabel *nameLabel = (UILabel *)[view viewWithTag:2]; nameLabel.text = name; return view;}

也可不用viewWithTag與尋找控件,可直接綁定控件到xib 1、將File’s Owner的class置空; 2、設置View的class為創建的view名(RowView);將View下的控件與列表中出現的屬性名連線綁定;

+(id)rowViewIcon:(NSString *)icon withName:(NSString *)name{ RowView *view = (RowView *)[RowView rowView];// UIButton *iconBtn = (UIButton *)[view viewWithTag:1]; [view.iconBtn setImage:[UIImage imageNamed:icon] forState:UIControlStateNormal];// UILabel *nameLabel = (UILabel *)[view viewWithTag:2]; view.nameLable.text = name; return view;}

++ UIScrollView ++ scroll.showsVerticalScrollIndicator :滾動條 scroll.bounces;//彈簧效果 scroll.contentInset://在指定的方向上增加額外的區域 scroll.contentSize://滾動范圍 scrollView.contentOffset://scrollView滾動的位置,可用代碼來控制圖片滾動及分頁的索引 UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@“2.jpg”]];//可直接創建帶圖片的imageView,創建出來的imageView默認和圖片的寬高一樣

** 說明:-True-YES-true objective-c 中的BOOL 實際上是一種對帶符號的字符類型(signed char)的類型定義(typedef),它使用8位的存儲空間。通過#define指令把YES定義為1,NO定義為0。 注意:objective-c 并不會將BOOL作為僅能保存YES或NO值的真正布爾類型來處理。編譯器仍將BOOL認作8位二進制數,YES 和 NO 值只是在習慣上的一種理解。 問題:如果不小心將一個大于1字節的整型值(比如short或int)賦給一個BOOL變量,那么只有低位字節會用作BOOL值。如果該低位字節剛好為0(比如8960,寫成十六進制為0x2300),BOOL值將會被認作是0,即NO值。而對于bool類型,只有true和false的區別,即0為false,非0為true。

++ UITableView ++ 類似于 android 中的ListView,但功能比ListView強大(類似android中的ExpendListView); 設置數據源:實現代理: 方法:

#PRagma mark 數據源方法,第section組一共多少行,,若不實現,默認就是一組-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;#pragma mark 一共多少組(類似android的getCount)-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView#pragma mark 返回每一行顯示的內容(類似android中Adapter中的getView)-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath#pragma mark 返回每一行的頭部標題-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section#pragma mark 返回每一行的尾部注釋-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section#pragma mark 返回右邊的索引列表-(NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView//設置右邊的圖片,此處是沒向右的箭頭 cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; //自定義右邊的圖片,此處是為一個加號 cell.accessoryView = [UIButton buttonWithType:UIButtonTypeContactAdd;#pragma mark 取消選中該行-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath

+單組展示 +設置組數為1即可 UITableViewDelegate為table的代理方法可高,可設置列表的高寬

#pragma mark 設置每一行的高度,UITableViewDelegate下的代理方法-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

+對話框+(類似android)

alert.alertViewStyle =UIAlertViewStyleLoginAndPassWordInput;//自帶兩個輸入框,用戶名和密碼[alert textFieldAtIndex:0].text =name;//訪問每一個文本框并設值//使用自定義的xib的view,但創建的rowItem須指定Custom Class為自己的Cell類型[_tableView registerNib:@"rowItem" forCellReuseIdentifier:@"key”];

博客地址:IOS開發學習筆記(二)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屯留县| 育儿| 蒙阴县| 临桂县| 永平县| 大新县| 忻城县| 蚌埠市| 漳平市| 双辽市| 庄河市| 杭锦旗| 成安县| 临江市| 宜兰县| 芒康县| 新田县| 原阳县| 宁河县| 县级市| 漳平市| 济阳县| 花莲市| 东港市| 德安县| 仲巴县| 邢台县| 扎鲁特旗| 神农架林区| 阿坝| 房产| 福州市| 安吉县| 平顺县| 神木县| 陇南市| 双峰县| 惠水县| 西贡区| 南通市| 西乌珠穆沁旗|