随笔分类 - IOS开发
摘要:新手刚开始可以用IB来做,但是一旦稍微入门了之后,就要慢慢转向纯代码。小翁学了IOS有一个月了,到今天刚好30天整。我不排斥IB跟纯代码混用,我也有时会这样做。期间,有一些体会记录如下:1、在IB里面托完控件后,在代码区里面就可以直接用了,不必在用前又alloc以及init一次。如果你这么做了,系统也不会报错,但是后果是,你看不到你想要的变化。比如,你拉了一个Label下来,IB里面Outlet线拉完,代码里面属性也声明了IBOutlet了,但是你在用前又alloc了一次,若你现在想[label setText:@"×××"];运行后会发现,没
阅读全文
摘要:1、利用NSUserDefaults来传值,这种方法只限于传少量数据的情形:比如你要传一个float的值,在需要传的时候用[[NSUserDefaults standardUserDefaults] setFloat:float forKey::@"float"]接收值的时候用[[NSUserDefaults standardUserDefaults] floatForKey:@"float"]2、NSNotificationCenter来传值- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent
阅读全文
摘要:何时使用self.在网上搜索或者论坛里的回复大多都是简简单单的说这与objc的存取方法有关,如何与存取方式有关究竟他们之间的是什么样的关系就很少有同学回答了。下面以代码来说明问题:创建一个Student类,继承NSObject类,代码: 1: #import <Foundation/Foundation.h> 2: 3: @interface Student : NSObject{ 4: 5: NSString *idd; 6: NSString *name; 7: } 8: @property (nonatomic, retain) NSString *idd; 9: @prop
阅读全文
摘要:概述在这个文档中,我们将讨论2个不相关的或者彼此之间不知道对方id的对象是如何通信的.所有的例子都是基于Objective-C的,这篇文章的关注点是Iphone开发.这个手册对那些在iphone开发和想要提高软件的易用性,扩展性的人将非常有用.下面,我们将讨论具体的项目细节(http://www.hivestudio.cat/goldCube.zip),这个例子是一个小的OpenGL视图程序,你可以对金色正方体进行翻转. 图片 使用者可以用"Rotate X""Rotate Y"和"Rotate Z"进行操作.当使用者点击"
阅读全文
摘要:2)NSNullNSNull大概是Cocoa里最简单的类了,只有一个方法+ (NSNull *) null;可以这样添加到集合中[contact setObject: [NSNull null]forKey: @"home fax machine"];访问时:id homefax;homefax = [contact objectForKey: @"home fax machine"];if (homefax == [NSNull null]) {// ... no fax machine. rats.}//[NSNull null]总是返回一样份数值,
阅读全文
摘要:UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等。这篇文章我将使用这个控件,做一个简易的浏览器。如下图:我们创建一个Window-based Application程序命名为:UIWebViewDemoUIWebView的loadRequest可以用来加载一个url地址,它需要一个NSURLRequest参数。我们定义一个方法用来加载url。在UIWebViewDemoViewController中定义下面方法:- (void)loadWebPageWithString:(NSString*)urlString{ NSURL ...
阅读全文
摘要:两个View之间的传值可以有多种方式。但本人觉得最合理最自然并且最安全的方式是通过Delegate方式。设想一个场景:1. 有两个View,分别是A和B。2. 点击A中的某个按钮,出来B。3. 对B做某些操作(比如输入文字到textField,选择picker等等)。4. 然后点击B中的确定按钮,将在B中进行的操作所产生的数据传递给A。这种应用场景在编写iPhone App应用的时候是十分常见的,比如利用modelview来进行某些条件的选择,进行注册操作等等。下面具体说说利用Delegate是如何将View B中的数据传递回View A。第一步:在B类的类定义之前加入一下代码,定义一个del
阅读全文
摘要:#import "SegmentedControlTestViewController.h" @implementation SegmentedControlTestViewController @synthesize segmentedControl; /**************************************** Tasks Initializing a Segmented Control – initWithItems: Managing Segment Content ...
阅读全文
摘要:一、创建滑块是一个标准的UIControl。我们可以通过代码创建,如同开关(UISwitch)的宽与高都会被忽略一样滑块的高也会被忽略(但是宽度不会):UISlider*mySlider=[[UISlideralloc]initWithFrame:CGRectMake(20.0,10.0,200.0,0.0)];//高度设为0就好二、设定范围与默认值创建完毕的同时我们要设置好滑块的范围,如果你没有设置,那么会使用默认的 0.0 到 1.0 之间的值。UISlider提供了两个属性来设置范围:mininumValue 和 maxinumValue:mySlider.mininumValue=0.
阅读全文
摘要:1.UITextField的初始化和设置 textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)]; [textField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型 textField.placeholder = @"password"; //默认显示的字 textField.secureTextEntry = YES; //密码 textField.autocorrectionType ..
阅读全文
摘要:NSDictionary和NSArray一样,都不能直接存储基本类型,比如:int、float、char等,而只能存储对象!那该怎么处理呢?很简单,先把基本类型转化成NSNumber对象,存进去;要取的时候,再从NSNumber里面取出来。具体实现如下:float fNum = 10;NSNumber *tempFNum = [NSNumber numberWithFloat:fNum]; NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:tempFNum, @"FNum",nil];fNum =
阅读全文
摘要:1 实现如下: 2 首先加入委托:UIPopoverControllerDelegate 3 先创建一个popover和实例化tableview的类(该类的xib文件中,view中就放了一个tablview): 4 UIPopoverController *popover; 5 popTableViewController *popoverContent; 6 7 在CustomerDetailVC.m放入: 8 #import "CustomerDetailVC.h" 9 #import "popTableViewController.h" 10 @i
阅读全文
摘要:1 初学iphone开发时,想做一个点击表视图上的单元格,然后从底部弹出一个时间选择器的功能。查阅了手边的几本iphone资料书都没有找到,在网上搜了半天也是一无所获。现这个问题我已经成功解决了,特将代码贴出来供初学者参考 3 UIActionSheet与UIDatepicker巧妙结合使用。 4 5 6 首先,将时间选择器嵌入到操作表中,让它以操作表的方式从底部弹出来 7 8 -(void)StartdateSheet 9 10 {11 12 NSString *title = UIDeviceOrientationIsLandscape([UIDevice currentDevic...
阅读全文
摘要:在程序中,当提交数据或者等待某一个进程时,需要给用户一个看得见的反馈,以表明设备正在进行某项活动或者处理,无法进行用户交互。而在iphone开发 中,解决这个问题的简洁办法就是创建一个不带按钮的对话框,然后在该对话框的底部创建一个进度轮,最后调整警告框的布局结构,并手动关闭警告框。具体实现 代码如下:-(IBAction)DoneEdting:(id)sender{//创建并显示无按钮警告框baseAlert=[[[UIAlertView alloc]initWithTitle:@"数据上传中,请稍候" message:nil delegate:self cancelBut
阅读全文
摘要:原文地址: http://blog.sina.com.cn/s/blog_7e3132ca0100wyls.html在XCode对应头文件中修改该类所继承的父类:@interface TableViewController:UIViewController <UITableViewDataSource, UITableViewDelegate>{}在对应的.m文件中添加如下代码:@implementation TableViewController{UITableView *tableView = [[UITableView alloc]initWithFrame:CGRectMa
阅读全文
摘要:*** Interface Builder 中的 File's Owner 和 First Responder 的作用分别是什么?***File's Owner 表示视图控制器。用来关联 IB 中的 outlet (textfield, label)与实例变量(library classes 中定义)的关联。 First Responder 表示当前响应用户触摸的屏幕上的对象。在应用程序生命周期内, First Responder 在用户与屏幕交互时变化。例如,假设有一个表单。当用户触摸表单中的某个文本域时,那个文本域将成为活动文本域,并担当 First Responder 的
阅读全文
摘要:详解Xcode调试异常是本文要介绍的内容,主要介绍的是快速定位代码出错所在行的问题。内容不多,却都在点,不多说,我们直接来看内容。很多时候,在调试程序的时候,我们很想马上知道错误的代码在哪一行。 而不想大概设置一个断点,逐行调试发现最终是哪一行代码出问题导致程序崩溃。 可以使用下面这个办法快速定位问题代码。选择Run–>Show–>Breakpoints,进入断点窗口Xcode的断点窗口首先需要为-[NSException raise]创建一个断点。 选择Global Breakpoints, 双击Double-click for Symbol框, 输入-[NSException
阅读全文
摘要:在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理。 例如: //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //用[NSDate date]可以获取系统当前时间 NSString *currentDateStr = [da
阅读全文
摘要:今天碰到两个页面之间翻转的动作设计问题,发现了一些问题,故做个总结,很多都写在注释部分:1、首先,我们来手动创建两个view以及相应的viewController。是手动,不是用IB(1)刚开始只加载一个view(第二个),若两个同时加载,第二个页面可能不能完全被遮挡。第二个页面可以通过翻转来显示。 [window addSubview:secodViewController.view];2、要求:每个view页面都有一个按钮,按下之后切换到另一个页面,要求有炫一点的切换效果,故要对Animation属性进行一些设置(1)helloWorldViewController.m: 1 2 mySe
阅读全文