ios开发中有两种输入控件,一种是仅支持但行输入,支持placeholder的UITextField;另一种是支持多行输入,但没有placeholder的UITextView;看你是需要但行输入,还是多行数如,进行选择。
成都创新互联公司是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信小程序,10多年建站对成都柔性防护网等多个方面,拥有丰富的网站设计经验。
对于没有相应开发经验的人来说,分为三步。
第一步,学习开发语言Objective-C。参考书看《Objective-C基础教程》这本书就行了。书看到后来还需要补充一些关于面向对象的知识,一般计算机专业的学生都是在学C++的时候接触这类思想的。我推荐的那本参考书里也会有一些讲解,进阶的学习需要以后再去看资料,没有特定教材,因为面向对象是一种编程思想,好在Objective-C本身就是这种思想的体现,以后写代码的时候可以慢慢体会。学完《Objective-C基础教程》,就会对iOS开发中所用到的基础数据类有一个了解了,这时候应该就可以写简单的无界面程序了。
第二步,学习iOS开发的软件运行原理,软件开发思想、规范以及一些苹果公司提供的常用标准UI(User Interface,用户界面)控件的使用方法。这个阶段推荐的参考书是《iPhone 4与iPad开发基础教程》,该书有中文译本,虽然不是最新的iOS教程(最新的教程应该是iOS7开发基础教程,但是该书没有中文译本,如果英文过硬,看这本书当然最好)。
第三步,熟悉常用第三方控件。因为苹果本身开放性的局限,其提供的标准开发库会有一些功能局限,智慧无线的网友们开发了各种各样的第三方控件来实现他们想要的功能,可以使开发过程事半功倍。此部分为进阶学习内容,需要在掌握前两步内容的基础上展开。这一步主要是试用,学习第三方代码,要求阅读第三方开发文档以及代码多一些。可以与开发同时进行,边学变进行软件开发。
除了参考书,这里推荐一个网站“Cocoachina苹果开发中文站”里面分享了很多网友的代码,并且可以对自己学习过程中遇到的问题进行讨论。学习初期,中期以及后期进阶都可以在这个论坛找到相应的学习资料与代码,并且可以通过发帖得到大神的技术指点。对应的英文网站是Stackflow,此网站偏重实际开发问题的解决,交流语言为英文。
另外,斯坦福大学每年都开设iOS开发的公开课,从Objective-C的学习到最后的控件使用以及开发思想,架构的学习,都有涉猎,是很好的视频教程。网易公开课中有以往课程配中文字幕的视频,而最新的课程一般没有中文字幕,并且,该课程选择默认学生已经有C++编程基础,可能对于初学者会困难一些。视频属于公开资源,在搜索引擎上搜索斯坦福、iOS等关键字,即可找到相应资源。刚刚简单搜索了一下,优酷已经提供iOS7开发的高清视频专辑。
最后,无论学习哪个操作系统的软件开发,最关键还是要多多练习,因此大量的写练习代码,看别人的优秀代码很重要。
用于显示文本,文本是对一些东西的说明。标签继承于UIView。
//1.创建(在系统中存在alloc)
UILabel*label = [[UILabel alloc] init];
//2.美化(设计位置大小背景颜色显示文本等等)
/*
frame设置位置和大小。位置(x,y)大小(weight,hight)。
frame{x,y,weight,hight} 结构体struct
frame包括origin/size:origin{x,y}size{weight,hight}
frame是CGRect类型(结构体,包括CGPoint类型的origin和CGSize类型的size),origin包括CGFloat类型的x和y ;size包括CGFloat类型的size和height。
CGRectMake(#CGFloat x#, #CGFloat y#,#CGFloat width#, #CGFloat height#);设置大小和位置。
*/
label.frame=CGRectMake(0, 0, 100, 100);
//设置背景颜色
label.backgroundColor=[UIColor yellowColor];
//text属性设置标签的文本
label.text=@"标签控件";
//textAlignment设置文本对齐方式枚举类型
//NSTextAlignmentCenter居中对齐
//NSTextAlignmentRight居右
//NSTextAlignmentLeft居左
label.textAlignment=NSTextAlignmentCenter;
//textColor设置文本颜色
label.textColor= [UIColor blackColor];
//font设置字体大小默认字体大小是17
label.font=[UIFont systemFontOfSize:14];
//numberOfLines设置多行显示当设置为0时自动分行
label.numberOfLines= 0;
//shadowOffset设置阴影
//第一个数值为正则向右偏移否则向左偏移
//第二个数值为正则向下偏移否则向上偏移
label.shadowOffset=CGSizeMake(-2, -2);
//shadowColor设置阴影颜色
label.shadowColor= [UIColor redColor];
//3.添加(把控件贴到需要显示的地方)
//addSubview添加子视图这里让标签添加到窗口上
//这里self.view叫做label的父视图
[self.view addSubview:label];
用于控制行为的发生或者属性的改变
//1.创建
//创建对象分配内存并初始化
UIButton*button=[[UIButton alloc] init];
//2.美化
button.frame=CGRectMake(100, 100, 100, 40);
//设置背景颜色
button.backgroundColor= [UIColor blueColor];
//设置按钮的标题不能通过属性设置
//第一个参数setTitle是按钮的标题字符串
//第二个参数forState是设定这个标题所处的状态枚举类型
//UIControlStateNormal通常状态
//UIControlStateHighLighted高亮状态
//UIControlStateDisabled不可使用的状态
//UIControlStateSelectwd选择下的状态
[buttonsetTitle:@"开始" forState:UIControlStateNormal];
[buttonsetTitle:@"关闭" forState:UIControlStateHighlighted];
//UIImage图片类工具类继承于NSObject
UIImage*image = [UIImage imageNamed:@"1.png"];
//设置按钮图片(根据自身大小进行添加)
//第一个参数setImage设置的图片UIImage类型
//第二个参数forState是设置图片这个图片的状态枚举类型
//[button setImage:image forState:UIControlStateNormal];
//设置一般状态下的图片之后点击图片变暗设置高亮状态下的图片就可以消除这个bug
//[button setImage:image forState:UIControlStateHighlighted];
//设置按钮的背景图片(适应大小,自动拉伸)
[button setBackgroundImage:imageforState:UIControlStateNormal];
[button setBackgroundImage:imageforState:UIControlStateHighlighted];
//按钮绑定方法
//第一个参数addTarget添加目标,点击按钮之后谁去执行按钮的方法self自己执行
//第二个参数action行为方法,按钮绑定的方法
//第三个参数forControlEvents控制事件,按钮在什么条件下去触发绑定的方法枚举//UIControlEventTouchUpInside单击
//这里给按钮绑定方法括号中相当于声明了方法。但是这个方法需要在这个类中实现,否则运行点击按钮会崩溃
[button addTarget:selfaction:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
//边框宽度.通过设置layer打点可以对控件进行切边,但是两个属性要同时使用才有效果
Button.layer.borderWidth= 1.0;
//边框颜色
Button.layer.borderColor= [UIColor colorWithRed:197 /255.0green:197 / 255.0blue:197 / 255.0alpha:1].CGColor;
Button.layer.borderColor= (__bridgeCGColorRef_Nullable)([UIColor colorWithRed:197 /255.0green:197 / 255.0blue:197 / 255.0alpha:1]);
//3.添加
//添加到窗口addSubview上添加子视图
[self.view addSubview:button];
用于输入文本内容
//1.创建内存分配内存并且初始化
UITextField *textfield =[[UITextField alloc] init];
//2.美化
//设置位置和大小
textfield.frame=CGRectMake(100, 100, 100, 40);
//设置背景颜色
textfield.backgroundColor= [UIColor redColor];
//borderStyle设置边框类型枚举类型
//UITextBorderStyleRoundedRect圆角矩形
//UITextBorderStyleline线性
//UITextBorderStyleBezel刃型
textfield.borderStyle=UITextBorderStyleRoundedRect;
//placeholder设置提示语
textfield.placeholder=@"请输入密码..";
//设置安全输入。布尔类型设置YES;输入内容会变为小黑点
// textfield.secureTextEntry = YES;
//设置输入框的文本(获取输入框的文本也是这个属性)
textfield.text=@"123";
//设置清除按钮的样式枚举样式
//UITextFieldViewModeWhileEditing当编辑时候存在(光标一定在输入框中的)//UITextFieldViewModeUnlessEditing除了编辑的时候(只要输入框中有内容)//UITextFieldViewModeAlways总是存在
textfield.clearButtonMode=UITextFieldViewModeWhileEditing;
//是否纠错,输入时会提示正确的内容
textField.autocorrectionType=UITextAutocorrectionTypeNo;
//设置return键的样式枚举类型
textfield.returnKeyType=UIReturnKeySend;
//设置键盘的样式
//UIKeyboardTypeNumberPad纯数字键盘
textfield.keyboardType=UIKeyboardTypeNumberPad;
//enabled设置输入框不可使用
textfield.enabled=YES;
//设置每次开始编辑时清除原输入框的内容
textfield.clearsOnBeginEditing=YES;
//键盘下去3种方法(失去第一响应者。输入框绑定方法。touchesBegan。)
//3.添加到窗口上
[self.view addSubview:textfield];
图片视图
//UIImageView专门用来显示图片的图片视图,继承于uiview.
//1.创建
UIImageView *imageView = [[UIImageView alloc] initWithFrame:[[UIScreenmain Screen] bounds]];
//2.美化
//设置位置和大小
//imageView.frame = CGRectMake(40, 80, 200, 300);
//设置图片
//创建一张图片用于视图图片的显示
UIImage *image = [UIImage imageNamed:@"6.png"];
//image图片视图的属性用于设置图片
imageView.image= image;
//userInteractionEnabled 设置用户交互性
imageView.userInteractionEnabled=YES;
//3.添加
[self.view addSubview:imageView];