iosiphone开发入门教程源码和02ui设计基础_第1页
iosiphone开发入门教程源码和02ui设计基础_第2页
iosiphone开发入门教程源码和02ui设计基础_第3页
iosiphone开发入门教程源码和02ui设计基础_第4页
iosiphone开发入门教程源码和02ui设计基础_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二讲iOSUI设计基主要知识增强 o增强 o实例代码o实现步1.创 oWorld工2.修 3.修 创 oWorld工在Xcode中创建 oWorld工程,基于 OS->Application->View-based修 o-.h文钮点击,所以在h文件中我们要定义一个UITextField属性和一个响应方法。porto_WorldViewControllerUIViewController{UITextField*txtField;}@property(nonatomic,IBOutletUITextField修 o-.m文实现-(IBAction)onClickButton:(id)sender#import" @synthesizetxtField.text= o}(void)viewDidUnload{self.txtField=nil;}(void)dealloc{[txtFieldrelease];[superdealloc];}使用IB设计页面,摆放控 连接输出为了将控件属性通过屏幕“输入”或“输出”,@property(nonatomic,retain)IBOutletUITextField*txtField;能在屏幕中使用的处为了响应控件的 -在 File’sOwner代表控制器类。MVC设计模MVC是解决具有UI的应用系统的成熟解决方案,M-Model(模型)是应用系统中与视图对于部分V-View(视图)是应用系统中用户看到并与之C-Controller(控制器)是应用系统中起到控制器作用,接受用户,显示数据等等,与视图CocoaMVC设计模式意味着,InterfaceBuilder不序的视图。MacCocoa绑定消除了大部分的黏合代码,它就像连接在Xcode编写的控制器和InterfaceBuilder设计的视图之间的一条线,用图InterfaceBuilderCocoa可以快速开发地您的CocoaFile's视图控制器的方-(id)initWithNibName:(NSString*)nibNameOrNilbundle:(NSBundle*)nibBundleOrNil------(id)initWithNibName:(NSString*)nibNameOrNilbundle:(NSBundle*)nibBundleOrNil------(-(void)viewDidUnload{self.txtField=nil;}--(void)dealloc{[txtFieldrelease];[superdealloc];}输出口和,需要定义动作输出口h文件o_WorldViewControllerUIViewController{UITextField*txtField;}@property(nonatomic,retain)IBOutletUITextField*txtField;mm文件@synthesize动作定义动作,是在ViewController定义一个方法,如-(IBAction)onClickButton:(id)sendertxtField.text= o}动作动作(Action)是在控件器中的方法,但它的返此方法是个Action,可以被某个触发。键盘输在 在 输入完成 实例代码实例代码 o修改文为关闭键盘添 -(IBAction)textFieldDoneEditing:(id)sender{[senderresignFirstResponder];}文本框对象的DidEndOnExit到File’s关闭键小[sender是使TextField控件放弃第一响应者状态通过触摸背景关闭键点击关闭键盘中的“return”关闭键盘比较麻烦, -(IBAction)backgroundTap:(id)sender{[txtField}实例代码实例代码 o连接动作为了使背景控件能够响应 从TouchDown拖到File’sOwner图标,然后点击背景关闭键键盘输入在中我们还可以指定键盘输入类型,可以是、 实实例程序键盘数字键键在键盘输入属性框中我们可以定义ReturnKey, (DidEndOn使用修 oWorld项目代码,添加实例代码o修 o-.m代-(IBAction)onClickButton:(id)sender//txtField.text= oNSString*str=[[NSString o.%@",txtField.text];UIAlertView*alert=[[UIAlertViewalloc] message:strdelegate:nil[alertshow];[alertrelease];[strrelease];}使用 为了使用ActionSheet我们需要在h文件中实现该方法是 o:<UIActionSheetDelegate>:<UIActionSheetDelegate>UITextField}在 //txtField.text= oUIActionSheet*actionSheet=[[UIActionSheet[actionSheetrelease];}-(void)actionSheet:(UIActionSheet*)actionSheetif(buttonIndex==[actionSheetdestructiveButtonIndex])txtField.text=}}等待有关实例代码实例代码UIActivity-@interface@interfaceUIActivityIndicatorViewController:UIViewControllerUIActivityIndicatorView*myActivityView;}@property(nonatomic,retain)IBOutlet*UIActivity-UIActivity-#import"UIActivityIndicatorViewController.h”@synthesizemyActivityView;-(IBAction)onClickButton:(id)sender{if([myActivityViewisAnimating]){[myActivityView}else[myActivityView}}-(void)dealloc{[myActivityViewrelease];[superdealloc];}实例代码@interfaceProgressViewViewController:UIViewController{UIProgressView*Progress;NSTimer}@property(nonatomic,retain)IBOutletUIProgressView*Progress;@property(nonatomic,assign)NSTimer@synthesizePgress=0.0;timer=[NSTimeruserInfo:nilrepeats:YES];}NSTimer是可以隐式地启动一个线程,Pgress=Pgress+0.1;if(Pgress==1.0){[timerUIAlertView*alert=[[UIAlertView[alertshow];[alertrelease];}}-(void)dealloc{[Progressrelease];[superdealloc];}屏幕旋中有重力感应我们可以通过旋转使屏实例代码实例代码 o屏幕旋转 开启旋可以通过 (UIInterfaceOrientation)interfaceOrientation{return}开启旋-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{return==||==}触发旋我们可以在屏幕旋转的时候触发很多 触发旋-{if(interfaceOrientation==||UIInterfaceOrientationPortraitUpsideDowntxtField.text=@"垂直显示。";}elsetxtField.text@"水平显示。}}自动调整由于屏幕旋转后,控件的位置会发生变化,我们通过“ControlSize”调整。横屏竖屏切换不同视纵屏

横屏例子新建工程工程Swap如下:进行编SwapViewController.h文#import#definedegreesToRadians(X)(M_PI*(x)/180.0)@interfaceSwapViewController:UIViewController{UIViewUIViewUIButton*landscapeFooButton;//FooUIButton*portraitFooButton;UIButton*landscapeBarButton;//BarUIButton*portraitBarButton;}@property(nonatomicretain)IBOutletUIView*landscape;@property(nonatomicretain)IBOutletUIView*portrait;@property(nonatomicretain)IBOutletUIButton*landscapeFooButton;@property(nonatomicretain)IBOutletUIButton*portraitFooButton;@property(nonatomicretain)IBOutletUIButton*landscapeBarButton;@property(nonatomicretain)IBOutletUIButton*portraitBarButton;-(IBAction)buttonPressed:(id)sender;解#definedegreesToRadians(X)(M_PI*(x)/landscape水平视图,portrait垂直视图landscapeFooButton水平视图中FooportraitFooButton垂直视图中Foo按钮landscapeBarButton水平视图中Bar按钮portraitBarButton垂直视图中Bar按钮视图设点击点击这个小箭头可以放到屏幕或竖起屏图 图输出口FooButtonBarFooButtonBar

::编写m实现文#import"SwapViewController.h”@implementationSwapViewController@synthesizelandscape;@synthesizeportrait;@synthesize@synthesizeportraitFooButton;@synthesizelandscapeBarButton;@synthesizeportraitBarButton;-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientationduration:if(interfaceOrientation==UIInterfaceOrientationPortrait){self.view=self.portrait;self.view.transform=self.view.transformself.view.bounds=CGRectMake(0.0,0.0,320.0,460.0);}elseif(interfaceOrientation==UIInterfaceOrientationLandscapeLeft){self.view=self.landscape;self.view.transform=self.view.transformself.view.bounds=CGRectMake(0.0,0.0,480.0,300.0);}elseif(interfaceOrientationUIInterfaceOrientationPortraitUpsideDown){self.view=self.portrait;self.view.transform=self.view.transformself.view.bounds=CGRectMake(0.0,0.0,320.0,460.0);}elseif(interfaceOrientationUIInterfaceO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论