ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:21.31KB ,
资源ID:10278182      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10278182.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(iphone试题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

iphone试题.docx

1、iphone试题基础知识1.objc是扩充C的面向对象,开发mac osx的编程语言。2.objc中的减号与加号减号表示一个函数、或者方法或者消息的开始(在一个类的实例上被调用和实施)加号表示其他的函数可以直接调用这个类中的方法,而不用创建这个类的实例3.NS开发包乔布斯的NextStep公司缩写,现今mac os使用NS这套函数库4.#import作用如同#include,用于声明头文件。5.nil表示空指针,相当于java的null6.objc中使用字符串,前面要加上,是因为在前面加上符号,编译器在编译的时候会在程序中给你留出位置,这样才能保证这个字符串不会丢失。(是把C的字符串转成NSS

2、tring的一个简写)7.开发objc类,需要创建一个头文件和一个实现文件头文件(.h):包含类的实例变量的名称和类型、描述方法参数和返回值类型的方法签名;实现文件(.m):包含这些方法的实现代码,以及对别的类不可见的,仅与实现本身相关的局部变量的声明和使用。8.九宫格解法原理;(右上解法)左出右写入、右出左写入、上出下写入、下出上写入、重排置下;9.iphone应用程序的项目基本结构classes:里面存放object-c类源代码文件(可以创建子文件夹来组织代码);other sources:存放除objective-c类之外的源代码文件;resources: 包含应用程序中的非代码文件(因

3、为应用程序只能在自己的沙盒中运行,不然找不到);Frameworks:特殊的库,可以存放库、框架、图像、声音等资源;Products:包含项目在编译时生成的应用程序(xxx.app);10.Info.plist文件里的bundle identifier(束标识符)它是应用程序的唯一标识符,要始终配置,命名格式为:顶级Internet域+.+公司名称+.+应用名称;11.一个在代码里对nib中对象(UILabel、UITextField等)的引用被称为一个插座变量(outlet),用关键字IBOutlet标明(在头文件里);能够被nib中对象调用的方法称为动作(action),用关键字IBAct

4、ion标明(在实现文件里)。12.在实现某个动作或是对象后要对这个动作或是对象后要使用release释放内存。13.IBOutlet输出口 使用关键字IBOutlet来声明实例变量,并通过这个实例变量来引用nib中的对象;14.-(IBAction)doSomething:(id)sender控制某个对象执行某项动作 通过关键字IBAction来声明,通过IBAction告诉interface Builder,此方法是一个操作,且可以被某个控件触发;通常 这个操作接受一个参数,该参数被定义为id,名称被指定为sender.(当需要传参数的时候就通过sender来传递,当不需要传参数的时候sen

5、der可以不写的);15.property (retain , nonatomic) UILable textArea;retain是通知编译器向分配给此属性的对象发送一个保留(retain)消息,确保属性的实例变量在被使用过程中不会被从内存中删除;nonatomic是 创建一个互斥访问,避免读和写不同步(非原子性访问);通过这个属性声明访问来提高执行的效率;(原子性好比如我们去银行存钱,存进去的时候银行账户就会同时增加相应的数额,有一面失败就都回到原来的状态);16.内存管理理解 :程序A里有一段内存被成功申请完成之后,内存计数器就从0变为1(这个过程是alloc);:然后程序B里也要使用这

6、个内存,那么内存计数器从1变为2(这个过程是retain);:紧接着程序A不需要这个内存了,那么程序A就把这个内存计数器减1(这个过程是release);:当系统发现这个内存计数器变为0,那么就调用内存回收程序把这段内存回收(这个过程是dealloc);17.objc使用消息机制来调用方法,消息就是一个类或者对象可以执行的动作消息表达式:对象或者类名字 方法名字:参数序列;对象或者类名字:接收器,是消息的接收者;方法名字:参数序列:要发送的消息(要执行的动作);代码实现1.实现图像的移动NSTimer *timerArrow;-(IBAction)shoot timerArrow = NSTi

7、mer scheduledTimerWithTimeInterval:(0.03) target:self selector:selector(onTimerArrow) userInfo:nil repeats:YES;-(void) onTimerArrow NSLog(go go go); /transform 后的参数为图像移动的x,y的距离 arrowView.transform = CGAffineTransformTranslate(arrowView.transform, 0, -3.0);2. 实现图像的旋转可以有两种实现方式(UIImageView *imageView).

8、 使用CGAffineTransformMakeRotation类的类方法CGAffineTransformRotate方法。imageView.transform = CGAffineTransformRotate(imageView.transform, -0.02);. 使用CGAffineTransformMakeRotation类的类方法CGAffineTransformMakeRotate方法。float angle = 0;angle += -0.02; imageView.transform = CGAffineTransformMakeRotation(angle);3.时间

9、条的读取(UIProgressView *pg)int progress = 0;progress+;/时间条读取的速度,取决于时间的多少(此处为30秒的倒数1/30)pg setProgress:progress*0.033;4.屏幕轻击、触摸事件.点击次数/NSUInteger为无符号的整形NSUInteger numTaps = touches anyObject tapCount;NSString *tapsMessage = NSString alloc initWithFormat:%d taps detected , numTaps;.触摸开始-(void)touchesBega

10、n:(NSSet *)touches withEvent:(UIEvent *)event.触摸移动-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event.触摸取消,通常为内存不够用的时候调用-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event.触摸结束-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event.轻扫屏幕.hUILabel *label;CGPoint mar

11、ker;.m-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event UITouch *touch = touches anyObject; marker = touch locationInView:self.view;-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event UITouch *touch = touches anyObject; CGPoint moved = touch locationInView:self.view; CGFloa

12、t deltaX = fabsf(marker.x - moved.x); CGFloat deltaY = fabsf(marker.y - moved.y); if (deltaX = 25 & deltaY = 5) label.text= yes yes yes; else if(deltaX =25) label.text= no no no no; 5. 循环执行一个方法可以有两种实现方法. 使用NSTimer类的相关方法。NSTimer *timer;int count=0;-(void)do NSLog(Test timer); count+; /10秒之后timer停止 if

13、(count = 10) timer invalidate; - (void)viewDidLoad timer = NSTimer scheduledTimerWithTimeInterval:1 target:self selector:selector(do) userInfo:nil repeats:YES;. 使用NSObject类的performSelector:withObject:afterDelay方法。-(void)do NSLog(Test timer); self performSelector:selector(do) withObject:nil afterDela

14、y:1;- (void)viewDidLoad self do;6.根据选择的按钮,将按钮的title传给标签并显示出来(UILable *status) NSString *title = sender titleForState:UIControlStateNormal; NSString *newText = NSString alloc initWithFormate:# you press the % ,title; status.text= newText; newText release;7.点击done关闭键盘 (UITextField *nameField)-(IBActio

15、n)nameFieldDoneEditing:(id)sender;-(IBAction)nameFieldDoneEditing:(id)sender sender resignFirstResponder; 点击屏幕关闭键盘-(IBAction)backgroundClick:(id)sender;-(IBAction)backgroundClick:(id)sender nameField resignFirstResponder;8.通过UISegmentedControl 控制UIView(UIView *switch) 显示或是隐藏的状态;- (IBAction)toggleSho

16、wHide:(id)sender UISegmentedControl *segmentedControl = (UISegmentedControl *)sender; /查询uisegmentcontrol的值 NSInteger segment = segmentedControl.selectedSegmentIndex; if (segment = 0) switchView setHidden:NO; else switchView setHidden:YES; 9.UISwitch (UISwitch *soundSwitch) 开关的控制-(IBAction)switchCha

17、nged:(id)sender UISwitch *whichSwitch = (UISwitch *)sender; BOOL setting = whichSwitch.isOn; SoundSwitch setOn:setting animated:YES; 10.操作表使用操作表必须符合协议(在.h头文件里的UIViewController后添加);同时操作表是模式化的(模式化就是程序显示操作表时,程序的其他任何部分都是不可操作的,必须在操作表上作出选择,才可以执行其他的操作);-(IBAction)doSomething:(id)sender UIActionSheet *actio

18、nSheet = UIActionSheet alloc initWithTitle:ready? delegate:self cancelButtonTitle:No destructiveButtonTitle:Yes otherButtonTitle:Woo,Cool,nil; actionSheet showInview:self.view; actionSheet release;里面的delegate:self 通过将self做为委托参数传递给actionsheet:didDisMissWithButtonIndex:actionSheet的方法,当按钮被按下的时候,委托的acti

19、onsheet:didDisMissWithButtonIndex:actionSheet方法将会被调用;通过UIActionSheetDelegate的actionSheet:didDismisswithButtonIndex方法的buttonIndex来指向操作的索引;如果想通过操作表的destructiveButton按钮来执行某项操作;if(buttonIndex = actionSheet destructiveButtonIndex) doSomething;/你要做的操作,显示警报 或是别的动作通过操作表的Woo按钮来执行某项操作;if(buttonIndex = actionS

20、heet firstOtherButtonIndex) doSomething;通过操作表的cool按钮来执行某项操作;if(buttonIndex-1 = actionSheet firstOtherButtonIndex) doSomething;11.警报NSString *msg = nil;msg = Please click on the go button to get the coupons.; UIAlertView *alert = UIAlertView alloc initWithTitle:Congratulations message:msg delegate:se

21、lf cancelButtonTitle:Back otherButtonTitles:Go,Got, nil;alert show;alert release;msg release;对警报里的按钮做相对应的点击处理(以点击Got按钮显示店铺的宣传网站)- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex switch (buttonIndex) case 0: / Cancel button break; case 1: /Go !button break; defaul

22、t: / Got! button UIApplication sharedApplication openURL:NSURL URLWithString: 12.自动旋转UIInterfaceOrientationPortrait /直立UIInterfaceOrientationPortraitUpsideDown /倒立UIInterfaceOrientationLandscapeLeft /左翻转UIInterfaceOrientationLandscapeRight /右翻转如果想设定应用程序是否支持自动翻转,通过interfaceOrientation 来设定;(设定后也要手动的调整

23、对应的页面视图的属性)-(BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation return(interfaceOrientation = 视图朝向);13.切换视图.首先添加控制视图的viewController类(负责程序的视图跳转 此处定义为switchViewController);.添加好程序需要的视图控制类和相对应的xib文件,并在视图xib文件的类特性编辑器里设置好它的基类和视图输出口;.在应用程序委托里写好调用视图跳转的函数.h+(Pizza_RockA

24、ppDelegate *)App;.m+(Pizza_RockAppDelegate *)App return (Pizza_RockAppDelegate *)UIApplication sharedApplicationdelegate;.在控制视图的viewController类里,写跳转视图的方法;-(void)showRockView if(self.pizza_RockViewController = nil) self.pizza_RockViewController = Pizza_RockViewController allocinitWithNibName:Pizza_Ro

25、ckViewController bundle:nil; self removeAllView; self.view insertSubView:self.pizza_RockViewController.view atIndex:0;-(void)removeAllView for(NSInteger i=0;iself.view.subViews count;i+) self.view.subviews objectAtIndex:i removeFromSuperview; .在视图控制类里调用应用程序委托里写好的函数来完成视图的跳转-(IBAction)buttonClick:(id)

26、sender Pizza_RockAppDelegate App.switchViewController showRockView;/showRockView为在控制视图跳转的类里定义好的方法 label removeFromSuperview;14.建立工具栏(Tab Bar Controller).创建控制视图的viewController类以及控制视图所对应的视图xib文件(工具栏有几个标签控制器,则创建几个控制视图类文件 );.设置视图nib对应的viewController类,并设置好Files Owner的输出口为对应的view;.在应用程序委托里创建UITabBarContro

27、ller的实例;.在MainWindow.xib里,添加一个Tab Bar Controller,并在属性检查器里添加工具栏所需要的标签控制器,并设置好标签控制器对应的标题名称、NIB NAME、图标;15.表视图表视图从遵循UITableViewDelegate协议的对象中获取配置数据; 从遵循UITableViewDataSource协议的对象获得行数据;.查看指定分区并返回表分区中的行数;(NSArray *listData)-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)se

28、ction return self.listData count;.根据声明的字符串键值来绘制表视图中的行-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath /声明表单元里的键值(标识符) static NSString *SimpleTableIdentifier = SimpleTableIdentifier; /根据这个声明的键值返回可重用的表视图标识符 UITableViewCell *cell = tableView dequeueReu

29、sableCellWithIdentifier:SimpleTableIdentifier; if (cell = nil) cell =UITableViewCell alloc initWithFrame:CGRectZero reuseIdentifier:SimpleTableIdentifierautorelease; NSUInteger row = indexPath row; cell.text = listData objectAtIndex:row; return cell;.为指定的行添加图像/ 0 为要添加图像的行数的下标if (indexPath row = 0) UIImage *image = UIImage imageNamed:beef.png; cell.image = image;.设置表视图的缩进级别(树状的表视图以后弄清楚)-(NSInteger)tableView:(UITableView *)tableView indentationLev

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

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