当前位置: 首页 > news >正文

亚当学院网站视频建设教程徐州关键词优化公司

亚当学院网站视频建设教程,徐州关键词优化公司,做视频网站要多大的服务器,wordpress 2m附件1.创建一个新项目#xff0c;选择“View-based Application”。输入名字“Cal”#xff0c;这时会有如下界面。 2.选择Resources-CalViewController.xib并双击#xff0c;便打开了资源编辑对话框。 3.我们会看到几个窗口。其中有一个上面写着Library#xff0c;这里…1.创建一个新项目选择“View-based Application”。输入名字“Cal”这时会有如下界面。 2.选择Resources-CalViewController.xib并双击便打开了资源编辑对话框。 3.我们会看到几个窗口。其中有一个上面写着Library这里面全是控件。如果没有显示的话就在最上面的“TOOLS”里单击一下就出来了。还有一个标题为“View”这个就是视图了在这里面加上控件运行时就可以显示出来了。还有一个标题为“Attributes”这个很明显的是属性关于某个控件的属性就在这里面设置。 4.我们这次主要用的是两个控件。如下图 上面的是按钮下面的是一个文本框。按钮是用来负责单击123那些的文本框是用来显示的。 5.拖动控件到View的合适位置具体怎么拖动是你自己的事我的结果如下图 这里也有一个小技巧这里有很多按钮一个一个拖动是很麻烦的这时拖动一个后选中它按住Option(alt)键直接拖动就可以出现一个副本弄好上面一排后选中一排四个再向下拖动就可以一下出现4个。 6.下面我们给按钮添加文字。方法是先选中文字然后在属性窗口里找到Title项在里面写上名字最后点一下回车键。如图 把其他的都添加好我的结果是这样的 7.设置文本框的属性按下图设置 因为计算器默认会显示一个0。 8.我们要添加代码了。 1在CaleViewController.h里修改代码成如下形式 interface CaleViewController : UIViewController { UITextField* txtResult;//用来表示输出口的和TextField类型一致 } property(nonatomic, retain) IBOutlet UITextField* txtResult;//表示这是一个输出口 -(IBAction)ButtonPressed:(id)sender;//这是一个事件的操作部分的声明 end 2在CaleViewController.m文件里按如下修改 #import CaleViewController.h implementation CaleViewController synthesize txtResult;//通知编译器为我们创建访问方法和修改方法 上面的是在文件最上面然后添加函数 -(IBAction)ButtonPressed:(id)sender{ } 只要在end之前就行。这是一个空函数现在我们还没有写到功能部分。 在- (void)dealloc {}函数里加上一句当然应该在它原有的那句之前了[txtResult release]; 这是释放内存。因为IPHONE的机身内存有限不可能像平时用电脑一样所以一定要记得释放内存。而且由于都是指针操作释放内存要注意有时候就会释放错了要多多理解指针。 9.下面要进行的是连接只有把输入输出口连接起来才能实现交互操作。所以我们要把控件和表示控件的变量操作的函数等连接起来。 具体操作如下 连接UITextField* txtResult;和文本框控件在控件操作程序下按住键盘上的“CTRL”键再单击并拖动会出现一条蓝色的线拖动到VIEW里的文本框控件上松开鼠标会弹出小下拉菜单里面就有一个txtResult如果没有的话检查你的定义和声明看看类型是否一致等。再单击一下txtResult就可以了。这就连接上了。这时我们有了一个输出口就是说以后txtResult变量就是文本框的内容。 连接按钮和操作。有两种方法方法一在按钮上单击右键在对应的事件的右边圆圈里单击并拖动到上松开就可以了。如图 方法二先单击按钮然后在属性窗口里找到如图所示 单击ButtonPressed后面的那个小圆圈有可能里面有黑点没事的正常现象拖动到对应的按钮上松手选择相应的事件就OK了。 最后说我们选择的是Touch Up Inside事件至于原因参考《IPhone3开发基础教程》第38页。 我们把所有的按钮都添加上同一个事件这样就使我们的接口减少了很多。 想试试都管用吗很简单在ButtonPressed函数里添加如下代码就可以了。 NSString* strInput [sender titleForState:UIControlStateNormal]; txtResult.textstrInput; 它的功能是改变文本框的内容为按钮上的字。试试吧。 当然做完这一切千万不要忘了保存。 10.现在就是写计算器主程序的时候了我们的数字不能太大Double的才能支持到多少位啊所以要考虑的问题很多。 现在要开始真正的编程了。 好吧我们现在来添加一个成员变量用来表示当前屏幕上显示的数字。double displayNum;并且在viewDidLoad事件中初始化为0.0。 然后我们来给按钮添加tag数字上1就是1然后我的列表是如下的你自己要记住自己是怎么添加的。 09-----------09; 点------10 -×/---------1114 ---------15 平方------16正负--------17CE--------18。 当然这样写是我的个人习惯您们可以把数字连接一个事件加减连接一个我就不在这里说了。 先说一下这个是我的制作过程记录以后会出现修改这是很正常的做程序肯定是会经常修改的。我把写错的地方也记录下来是为了让大家尤其是初学者来看清楚制作过程制作过程永远不会一帆风顺。 添加一个成员函数记住要添加声明和定义两部分。 (double)NumPress:(int)Num;//我们用它来处理按下数字的操作 变量入口是按下的数字返回值是目前这个数字是什么。 这个函数里先添加一句 displayNum displayNum*10 num;//修改显示的数字 貌似就结束了。但是这肯定是不正确的。 比如我们还要处理点和加减等操作。 我们把这个操作放到按钮的单击事件里。 代码如下 -(IBAction)ButtonPressed:(id)sender{ //UIButton* btn (UIButton*)sender;//用变量指向指令发送者 int num [sender tag];//获取tag值 switch (num) { case0:case1:case2: case3:case4:case5: case6:case7:case8: case9://这部分是处理数字输入的 [selfNumPress: num]; break; default: break; } } 我们先来处理小数点被按下时。先添加一个成员变量指示小数点是否被按下。BOOL IsDotPressed;并在viewDidLoad里将其初始化为NO。 添加函数(void)DotPress{IsDotPressed YES;} 这样的话我们的数字按下事件就又要有变化了。 -(void)NumPress:(int)num{ if (IsDotPressed) { afterDotNum;//先让按下的小数点后的位数加1 displayNum displayNum pow((double)0.1,afterDotNum)*num; } else { displayNum displayNum*10 num;//修改显示的数字 } } 我们当然要让它能显示出来否则也无法测试不过控件只能显示NSSTring*类型所以要转换一下。 用以下函数添加进去。 - (NSString *)changeFloat:(double)Right {   NSString *stringFloat; stringFloat [NSStringstringWithFormat:%.10f,Right]; constchar *floatChars [stringFloat UTF8String]; NSUInteger length [stringFloat length]; int i; for( i length-1; i0; i--) { if(floatChars[i] 0) ; else { if(floatChars[i] .) i--; break; } } NSString *returnString; if(i -1) returnString 0; else returnString [stringFloat substringToIndex:i1]; return returnString; } 然后我们就要调用了在按钮单击事件里的switch的数字处理中添加如下代码 [txtResultsetText:[selfchangeFloat:displayNum]]; 这样就可以调用了不过我们发现按下点后点却并不出现直到再按下一个数字时点才会出现这显然不是我们想要的。所以要修改处理点按下的操作。 改成如下状态 -(void)DotPress{ if(IsDotPressed NO) { [txtResultsetText:[NSStringstringWithFormat:%%, [txtResulttext], .]];//这里是格式化字符串在字符串后面添加个点 IsDotPressed YES; } } 这样就OK了。 还有一点就是数字长度问题数字不能无限大所以要添加一个判定条件在数字按下的函数最前面添加以下代码 //长度大于等于9位时不再操作了 if ([txtResult.text length] 9 ) { return; } 下面是操作符号和等于的做法了先说符号的。 先回忆一下计算器的工作流程输入第一个数字输入符号输入第二个数等于。这是一般的情况。我们先按一般情况来做。 添加两个函数一个负责处理符号一个负责等于。 -(void)OperPress:(int)oper{ WhichOperPressed oper-10; preInputNum displayNum; } WhichOperPressed这个是int类型的成员变量用来记录是哪个符号的其中0-无1-加2-减3-乘4-除。 然后是等于的操作函数。 -(void)EquPress{ switch (WhichOperPressed) { case1://加 displayNum preInputNum; break; case2://减 displayNum preInputNum-displayNum; break; case3://乘 displayNum * preInputNum; break; case4://除 if (displayNum0) { [txtResultsetText:除数不能为0]; return; } else { displayNum preInputNum/displayNum; } break; default: break; } [selfinit]; [txtResultsetText:[selfchangeFloat:displayNum]]; } 嗯init也是一个函数主要是清除工作也可以说是初始化工作。代码如下 -(void)init{ preInputNum 0.0; IsNumPressedNO; WhichOperPressed0; IsDotPressedNO; afterDotNum0; IsCaledYES; } 一般情况就是这样的但是我们有时会有这样的情况输入数字按了加号但是发现按错了于是按减号再输入第二个数字再等于。这是一种还有一种我们输入第一个数字按加输入第二个数字按加此时应该显示的是前面两个数字的和再输入第三个数字等等。 所以有必要修改一下代码。 将操作符的代码做如下修改 -(void)OperPress:(int)oper{ if (IsNumPressed) { //计算结果 [selfEquPress]; } WhichOperPressed oper-10; preInputNum displayNum; IsNumPressedNO; IsCaledNO; IsDotPressedNO; } 其中IsNumPressed是BOOL类型的成员变量初始化为NO用来表示是否有数字按下这是处理这两种特殊情况的。 IsCaled是BOOL类型的成员变量初始化为NO这个的用处不在此处而是要在NumPress函数里修改一下代码 -(void)NumPress:(int)num{ IsNumPressed YES; //如果有操作符号按下则将显示的先归0 if (WhichOperPressed!0 || IsCaled) { displayNum 0; [txtResultsetText:[selfchangeFloat:displayNum]]; }…… 下面的代码都一样就不粘了这里主要是为了在按了等于后再次按数字会使数字从0开始否则按了等于后再按数字就在数字后面继续添加数字了。 然后是平方的运算按了平方后的做法特别简单就不用再添加成员函数了就在btnPress的switch里添加就行了添加如下代码 case16://平方 displayNum*displayNum; [txtResultsetText:[selfchangeFloat:(displayNum)]]; [selfinit]; break; 然后该正负的按钮了。正负的出现很简单在上面的后面再加一句 case17: displayNum 0-displayNum; [txtResultsetText:[selfchangeFloat:(displayNum)]]; break; 是不是很简单不过你可以试验一下如果现在你按了3再按正负再按6出现的不是-36而是-24这是为什么呢因为前面我们是加的-306当然是-24了。 所以NumPress函数又要修改了。 。。。。。。 //长度大于等于9位时不再操作了 if ([txtResult.textlength] 9 ) { return; } //添加的是如下部分 if (displayNum0) {//主要负责按了正负号后 num 0-num; } /添加的是以上部分 if (IsDotPressed) { afterDotNum;//先让按下的小数点后的位数加1 displayNum displayNum pow((double)0.1,afterDotNum)*num; } …... 其他的部分相同就省略了。 下面是CE按钮了这个是清除用的用我们的init就差不多了在BtnPress里添加如下代码 case18://CE [selfinit]; displayNum0; [txtResultsetText:0]; break; 现在一个基本的计算器就完成了我们还要测试一下打开后输入0.8按再按点怎么了是不是出现了“0.8.”呢这显然有问题修改吧肯定是点处理的错回想一下点操作只是判断了一下以前有没有输入过点而无论是符号的还是等号的都把其归为NO了所以出现是很正常的因此我们修改成以下代码 -(void)DotPress{ //如果有操作符号按下则将显示的先归0 if (WhichOperPressed!0 || IsCaled) { displayNum 0; [txtResultsetText:[selfchangeFloat:displayNum]]; } if(IsDotPressed NO) { [txtResultsetText:[NSStringstringWithFormat:%%, [txtResulttext], .]]; IsDotPressed YES; } IsNumPressedYES; IsCaledNO; } 因为如果有操作符按下后按点时就相当于按了0和点所以这样就没问题了。再试试除个0怎么样提示出现了吧再按任意的数字键呢怎么没问题多点几个试试 问题有了没就是只能显示一位数了。这可如何是好呢在EquPress函数里找到以下地方 case4://除 if (displayNum0) { [txtResultsetText:除数不能为0]; [selfinit];//在这添加一句就OK了 return; } 我们只要在上面注释的地方添加一句就OK了。大家去想想原因吧。到此一个简单的计算器就做好了基本功能全都有了。像界面什么的自己去动脑子吧。 写在最后这个功能很简单目的只是为了将初学者引进门。因为乍一遇到XCODE这样的编译器有很多人会很不习惯而且会感觉无从下手。其实IPHONE编程还是很简单的大家稍微用点心练习一下手熟点就没有任何问题的。关键还有就是XCODE是全英文的有很多人会用起来别扭。以后也许会继续有一些简单的教程。大家有什么意见或者建议尽管告诉我啊一起进步。
http://www.huolong8.cn/news/238185/

相关文章:

  • 免费建立自己的网站东莞网站的制作
  • 秦皇岛电子网站建设工程建设合同
  • wordpress linux 建站WordPress主题启用出现错误
  • 简洁个人博客网站模板下载gs甘肃人社
  • 卫浴响应式外贸网站建设公司企业邮箱怎么查询
  • 网站开发与成都网站建设价格
  • 做钢材的网站itc会议系统
  • 企业网站建设第一步建网站怎么挣钱的
  • 说明多媒体教学网站开发的一般步骤零代码开发
  • 淘宝购物返利网站开发app建设网站
  • 学做美食饮品网站企业展厅设计哪里好
  • 做好网站内能另外做链接吗百度网盟推广有哪些网站
  • wordpress 4.0模板深圳谷歌seo推广
  • 公司网上注册在哪个网站东莞网站建设(信科分公司)
  • 商城手机网站开发专业搜索引擎优化电话
  • 常州市建设项目审批网站网站建设竞争对手分析
  • jsp做网站安装配置wordpress
  • 河北省网络科技网站网站设计就业形势
  • 贵阳seo网站管理什么叫互联网
  • 网站没服务器行吗网站域名变更
  • 做自媒体常用的图片网站装修公司网页设计模板
  • 红酒 专业 网站建设做宣传语的网站
  • 化工厂建设网站做百度网站每年的费用
  • 乡镇网站模板网站建设淘宝好评
  • 网站建设和网站设计商务网站建设sz886
  • 网站有哪些费用多少Vantage wordpress主题
  • 潜江 网站建设世界杯现场直播
  • 网站开发专业工资做网站的原理
  • 海口模板建站定制网站人人装修网
  • 广州做网站lomuwapp模板下载网站模板