IOS复习Word下载.docx

上传人:b****7 文档编号:22836027 上传时间:2023-02-05 格式:DOCX 页数:27 大小:27.17KB
下载 相关 举报
IOS复习Word下载.docx_第1页
第1页 / 共27页
IOS复习Word下载.docx_第2页
第2页 / 共27页
IOS复习Word下载.docx_第3页
第3页 / 共27页
IOS复习Word下载.docx_第4页
第4页 / 共27页
IOS复习Word下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

IOS复习Word下载.docx

《IOS复习Word下载.docx》由会员分享,可在线阅读,更多相关《IOS复习Word下载.docx(27页珍藏版)》请在冰豆网上搜索。

IOS复习Word下载.docx

self.myproview.progress=self.myproview.progress+0.1f;

if(self.myproview.progress>

=1.0){

[self.mytimerinvalidate];

//停止定时器

//将按钮的标题改为重新下载,同时将进度条归零

[self.btndownsetTitle:

@"

重新下载"

forState:

NO];

self.myproview.progress=0.0f;

//弹出对话框提示成功

UIAlertView*alert=[[UIAlertViewalloc]initWithTitle:

下载提示"

message:

下载完成"

delegate:

selfcancelButtonTitle:

确定"

otherButtonTitles:

nil,nil];

[alertshow];

}

}

7.定时器(NSTimer)

if(self.mytimer!

=nil&

&

self.mytimer.isValid){//暂停,要么是继续

NSString*btntilte=self.btndown.titleLabel.text;

if([btntilteisEqualToString:

暂停"

]){

//暂停定时器

[self.mytimersetFireDate:

[NSDatedistantFuture]];

//设置按钮值

继续"

forState:

}else{

//继续定时器

[NSDatedate]];

//继续

}

//定义并启动定时器

self.mytimer=[NSTimerscheduledTimerWithTimeInterval:

1.0target:

selfselector:

@selector(download)userInfo:

nilrepeats:

YES];

8.状态指示器(UIActivityIndicatorView)

1.获得指示器当前的状态BOOLstate=self.myactivity.isAnimating;

2.设置指示器停止或开始stopAnimating;

startAnimating;

9.警告框(UIAlertView)

协议:

UIAlertViewDelegate

UIAlertView*alert=[[UIAlertViewalloc]initWithTitle:

提示框"

//对话框标题

message:

这是一个警告框"

//弹出信息

delegate:

self//委托

cancelButtonTitle:

取消"

//取消按钮的标题

otherButtonTitles:

//其他按钮的标题nil];

//显示对话框

10.Web视图(UIWebView)

NSURL 

*url=[NSURLURLWithString:

.hk"

];

 

 

NSURLRequest 

*request=[[NSURLRequestalloc] 

initWithURL:

url];

[myWebView 

loadRequest:

request];

11.动作表单(UIActionSheet)

协议:

UIActionSheetDelegate

UIActionSheet*sheet=[[UIActionSheetalloc]initWithTitle:

nildelegate:

self

取消分享"

destructiveButtonTitle:

分享到QQ空间"

o

therButtonTitles:

分享到新浪微博"

@"

twitter"

@"

facebook"

nil];

[sheetshowInView:

self.view];

//获取被选中菜单的索引

-(void)alertView:

(UIAlertView*)alertViewclickedButtonAtIndex:

(NSInteger)buttonIndex{

NSLog(@"

%d"

buttonIndex);

}

12.日期选择器(UIDatePicker)

NSDate*mydate=self.mydatepicker.date;

//获取datepicker控件时间值

NSDateFormatter*dfm=[[NSDateFormatteralloc]init];

[dfmsetDateFormat:

YYYY-MM-ddHH:

mm:

ss"

//格式时间

NSString*datestr=[dfmstringFromDate:

mydate];

13.自定义选择器(UIPickerView)

数据源UIPickerViewDataSource,委托UIPickerViewDelegate

1.定义接受数据源的变量

NSDictionary*mydata//全部数据;

NSArray*provinces;

//省数据

NSArray*city;

//市数据

2.接受数据源

NSBundle*bundle=[NSBundlemainBundle];

//从plist文件中读取所有数据

NSString*pathList=[bundlepathForResource:

xxx"

ofType:

plist"

//获得文件名

self.mydata=[[NSDictionaryalloc]initWithContentsOfFile:

pathList];

//读数据

self.provinces=[self.mydataallKeys];

//获得省

self.city=[self.mydataobjectForKey:

provinceName];

//市

//默认初始值去第一个省的所有市

NSString*provinceName=[self.provincesobjectAtIndex:

0];

//1.获得省名称

//绑定数据源及委托

self.myPickerView.dataSource=self;

self.myPickerView.delegate=self;

3.//返回某一个拨轮中有多少个值

-(NSInteger)pickerView:

(UIPickerView*)pickerViewnumberOfRowsInComponent:

(NSInteger)component{

if(component==0){

return[self.provincescount];

}else{

return[self.citycount];

4.//返回当前picker共有几个拨轮

-(NSInteger)numberOfComponentsInPickerView:

(UIPickerView*)pickerView{

return2;

5.//显示某一个拨轮中row标题

-(NSString*)pickerView:

(UIPickerView*)pickerViewtitleForRow:

(NSInteger)rowforComponent:

if(component==0){

return[self.pDataobjectAtIndex:

row];

return[self.cDataobjectAtIndex:

6.//选中的拨轮行

-(void)pickerView:

(UIPickerView*)pickerViewdidSelectRow:

(NSInteger)rowinComponent:

NSString*p=[self.pDataobjectAtIndex:

NSArray*arr=[self.plistDataobjectForKey:

p];

self.cData=arr;

[self.myPickerViewreloadComponent:

1];

二、表视图

一.表视图分类

1.形式上分类

1.1动态表视图(重点)

1.2静态表视图(孤岛式视图)

分析:

静态表视图一般用于设计和规划页面

动态表视图常用于数据显示

2.从控件分类

2.1UITableView(基本视图控件)

2.2UITableViewController(基本视图控件+标准类)

注意:

如果使用2.1则,需要显示实现委托(UITableViewDelegate)以及数据源(UITableviewDataSource)

如果使用2.2则,需要生成一个集成UITableViewController的类,同时将视图中的Table指向该类

3.从功能分类

3.1简单表视图(只有一个节)

3.2复杂表视图(多个节以及节标题,节索引等等)

3.3自定义CELL表视图

二.表视图结构

1.表视图基本结构

1.1节1.2节标题1.3表标题1.4表尾1.5单元格(Cell)/行

1.一个表视图至少有一个节2.一个节有多个Cell

2.单元格结构/行

1.图标(image)2.正文区(正文标题,正文,正文尾)3.扩展区

三.表视图中委托以及数据源

需要重写的方法:

1).选中某一行的操作,详解表格复选框(checked)

-(void)tableView:

(UITableView*)tableViewdidSelectRowAtIndexPath:

(NSIndexPath*)indexPath;

2).某一单元格编辑样式,详见可编辑表视图

-(UITableViewCellEditingStyle)tableView:

(UITableView*)tableVieweditingStyleForRowAtIndexPath:

删除样式:

UITableViewCellEditingStyleDelete

添加样式:

UITableViewCellEditingStyleInsert

3).当前表视图有多少节

-(NSInteger)numberOfSections;

4).当前节有多少行

-(NSInteger)numberOfRowsInSection:

(NSInteger)section;

5).添加节

-(void)insertSections:

(NSIndexSet*)sectionswithRowAnimation:

(UITableViewRowAnimation)animation;

6).删除节

-(void)deleteSections:

7).添加行,详解可编辑表视图

-(void)insertRowsAtIndexPaths:

(NSArray*)indexPathswithRowAnimation:

8).删除行,详见可编辑表视图

-(void)deleteRowsAtIndexPaths:

9).设置表视图可编辑,详见可编辑表视图

-(void)setEditing:

(BOOL)editinganimated:

(BOOL)animated;

10).返回所有Cell

-(UITableViewCell*)tableView:

(UITableView*)tableViewcellForRowAtIndexPath:

11).当前节返回多少行

-(NSInteger)tableView:

(UITableView*)tableViewnumberOfRowsInSection:

12).返回索引列,详见有索引的表视图

-(NSArray*)sectionIndexTitlesForTableView:

(UITableView*)tableView;

规格化字符串:

[[NSStringalloc]initWithFormat:

myvalue];

设置控件的隐藏显示:

self.leftswitch.hidden=NO;

设置button按钮的显示:

[self.btndownsetTitle:

视图控制器与导航

视图控制器分类

•UIViewController(自定义视图控制器的导航)

•UINaviagtionController(导航控制器)

•UITabBarController(标签控制器)

•UIPageViewController(电⼦子书导航风格)

•UISplitViewController(分屏导航--ipad)

•UIPopoverController(⽓气泡风格)

导航模式

•平铺导航模式(照片产品展示)

•标签导航模式(多配合树形使用,分类别数据显示)

•树形结构导航模式(常用作数据显示)

•模态视图(特殊)(常见用作登录注册页面之间的转换)

模态:

主要⽅方法

(显示模态视图)presentViewController:

animated:

completion

(关闭模态视图)dismissViewControllerAnimated:

completion

模态样式分类

UIModalTransitionStyleCoverVertical(从底向
上模式)

UIModalTransitionStyleFlipHorizontal.(从右往左水平翻转)

UIModalTransitionStyleCrossDissolve.(淡入淡出)

UIModalTransitionStylePartialCurl.(卷起一个边角翻页)

模态视图参数回传(广播模式)开发步骤

1.定义NSDictionary(广播数据封装)

2.定义⼴广播对象

[[NSNotificationCenter
default]postNotificationName:

Object:

userInfo];

3.定义接受⼴广播⽅方法

4.定义⼴广播监听

2.广播和模态视图

(1)-(void)viewDidLoad

{

[superviewDidLoad];

//添加广播监听

[[NSNotificationCenterdefaultCenter]addObserver:

@selector(getNotification:

)name:

registerok"

object:

nil];

//定义接受广播的方法

-(void)getNotification:

(NSNotification*)notification{

NSDictionary*mydata=[notificationuserInfo];

NSString*uname=[mydataobjectForKey:

uname"

用户注册的用户名为:

%@"

uname);

-(IBAction)onClickRegister:

(id)sender{

//获得故事模板对象

UIStoryboard*mainStoryboard=[UIStoryboardstoryboardWithName:

Main"

bundle:

//通过故事模板对象获得控制视图

UIViewController*registerViewController=[mainStoryboardinstantiateViewControllerWithIdentifier:

registerViewController"

//设计模态显示样式

self.modalTransitionStyle=UIModalTransitionStyleCoverVertical;

//开始调用

[selfpresentViewController:

registerViewControlleranimated:

YEScompletion:

^{

开始调用下一个视图"

);

}];

(2点击注册OK,后将本视图中的填写的用户名回传给上一个视图,采取广播设计模式

-(IBAction)onClickOK:

[selfdismissViewControllerAnimated:

YEScompletion:

关闭视图的同时将数据回传"

//定义广播数据,其类型为NSDisdictionary

NSDictionary*dictData=[NSDictionarydictionaryWithObject:

self.uNameText.textforKey:

//定义广播

[[NSNotificationCenterdefaultCenter]postNotificationName:

//广播名称object:

niluserInfo:

dictData];

}];

-(IBAction)onClickCancel:

//取消模态视图

取消模态视图!

"

平铺

1.UIPageViewController实现平铺

UIPageViewControllerDataSource

步骤:

1)拖拽PageViewController,修改StoryboardID,设置TransitionStyle为Scroll

2)拖拽新的viewController,修改StoryboardID,添加imageView,指定新的类

3)代码实在太多自己看去吧:

代码文件名pageViewControllerDemo

2.ScrollView实现平铺

UIScrollViewDelegate

1)拖拽ScrollView及PageControl,生成IBOutlet

2)拖拽出多个ViewController,修改StoryboardID,添加imageView

3)在Scroll的类中定义多个UIView以对应多个ViewController

4)代码实现:

-(void)viewDidLoad

{[superviewDidLoad];

//初始化各个参数,首先初始化滚屏的宽度和高度,注意宽度设置为3个屏幕的宽度self.scrollView.contentSize=CGSizeMake(self.view.frame.size.width*3,self.view.frame.size.height);

self.scrollView.frame=self.view.frame;

//获得故事模板对象

UIStoryboard*mainStoryboard=[UIStoryboardstoryboardWithName:

bundle:

//获得第一个视图控制对象

UIViewController*page1ViewController=[mainStoryboardinstantiateViewControllerWithIdentifier:

page1"

self.page1=page1Vie

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1