重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用于显示文本,文本是对一些东西的说明。标签继承于UIView。
成都创新互联公司主营府谷网站建设的网络公司,主营网站建设方案,重庆APP开发公司,府谷h5微信小程序开发搭建,府谷网站营销推广欢迎府谷等地区企业咨询
//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];
首先说一下:UIActivityIndicator作为刷新控件
主要实现方法如下:
下拉刷新01-默认
下拉刷新02-动画图片
下拉刷新03-隐藏时间
下拉刷新04-隐藏状态和时间
下拉刷新05-自定义文字
下拉刷新06-自定义刷新控件
上拉刷新01-默认
上拉刷新02-动画图片
上拉刷新03-隐藏刷新状态的文字
上拉刷新04-全部加载完毕
上拉刷新05-自定义文字
上拉刷新06-加载后隐藏
上拉刷新07-自动回弹的上拉01
上拉刷新08-自动回弹的上拉02
上拉刷新09-自定义刷新控件(自动刷新)
上拉刷新10-自定义刷新控件(自动回弹)
为了更好理解使用用tabbar和切换视图,我们创建一个Empty Application。
1、 打开Xcode ,新建项目
2、 创建View Controller
在项目上按花键+N创建新文件,创建 Objective-C class 文件,按Next按钮,subClass 选UIViewController 。勾选上xib选项
以同样方式创建另外三个ViewController ,RedViewController ,GreyViewController,YellowViewController。四个View准备好了。那么Tabbar呢?
3、 创建TabBarController.xib文件,选择创建Empty文件
这时候你发现创建的xib文件是空白的,不用慌,去右下角控件栏中把TabBar Controller拖过来就Ok了。
4、 关联TabBarController.xib ,tabbarAppDelegate这两个文件
在上图中选择File’s Owner,打开Identity Inspector,在Class一栏选择tabbarAppDelegate
这样,我们就可以创建TabBarController.xib 文件指向tabbarAppDelegate 文件的Outlet映射了。
5、 在Xcode中的工具栏的View菜单找到 打开Assistant Editor,使tabbarAppDelegate.h和TabBarController.xib 同时打开。
在xib文件上按住control键,往tabbarAppDelegate.h,创建Outlet.
弹出窗口输入 rootController,点connect。
6、 添加代码
打开tabbarAppDelegate.m,在didFinishLaunchingWithOptions方法中添加代码:
1.- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
2. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
3. // Override point for customization after application launch.
4. [[NSBundle mainBundle] loadNibNamed:@"TabBarController" owner:self options:nil];
5. [self.window addSubview:self.rootController.view];
6. self.window.backgroundColor = [UIColor whiteColor];
7. [self.window makeKeyAndVisible];
8. return YES;
7、 往TabBarController.xib上添加Tab Bar Item,
把控件栏上的Tab Bar Item控件往TabBarController.xib上拖拽即可,一个放4个。
8 、关联Tab Bar Item和***ViewController。
选择其中一个Tab Bar Item,在右上角打开Identity Inspector,在Class中选择BlueViewController:
然后,打开Attribute,在NIB Name选择BlueViewController:
其他3个tab item重复类似的操作,选中对应的ViewController,这样在切换Tab标签时,就可以切换到对应的页面。
9、 设置tab item的属性
选中其中一个tab item ,会在右上角的属性栏里看到如下信息
Badge是红色圈圈里面有数字 ,表示有多少条信息的属性
Identifier 是tab item的样式,选custom是自定义,下面的是系统的样式。我选了其中四种。
bar ITem 的title image在custom的样式下能设置。
10 、剩下的3个Tab Item也做类似的设置即可。
现在基本完工,运行看看结果如何。好吧,其实和第一第二个图是一样的`,这里就不放了。
11 、在viewDidLoad方法加Log观察切换View
可以加写日志看看对应的View是什么时候运行的。第一个运行的View是BlueViewController,点击其他的tab项时,加载其他的view,加载一次之后下次点击不再调用viewDidLoad。
1.- (void)viewDidLoad
2. [super viewDidLoad];
3. NSLog(@"BlueViewController");
4. // Do any additional setup after loading the view from its nib.
第一步:编程入门课
时间预计:4个星期
推荐看公开课,Udacity也行,网易公开课也行,自己找一个面对对象语言(一般是JAVA, C++, Python)的课。我是在网易公开课看的斯坦福的CS106A,学的JAVA。
如果你纯粹学iOS开发,不推荐看哈佛CS50,CS50是给CS系的学生介绍整个计算机世界的框架,讲的内容比较多,进度比较快,对iOS开发其实有点累赘了。(臣妾有点跟不上啊!!)
计划安排是一天一课,看课程要求的书(至少看完一本)及大部分作业。这一阶段重点不是语法,而是以下3个目标。
目标:
1. 让自己对编程这件事感到适应。
写hello world。
怎么写function, 怎么调用function。
全局变量,局部变量这类基本知识点。
都是基本的东西。看看书,写多两个程序就欧啦。
2. 掌握编程语言的基本要素。
编程语言4个要素:
a. 基本的数据类型:整数,实数,character, string, boolean
b. 基本的运算符号:+-×/++--那啥的
c. 怎样输入输出
d. 怎样控制程序:sequence,selection,loop
3. 了解编程范式
面对过程编程。
面向对象编程。
第二步:上手iOS!
时间预计:2星期
强烈推荐CS193P,老头子讲的超级好!我的很多东西(对象思维啥的)是在这里跟着做练习的时候才真正明白的(好啦,也可能是上一堂课练习做得少的原因)。如果等到9月应该itunes U上会开始教iOS 7了。网易公开课的是2010年iOS 5版的,前10堂课,也行。(iTunes U上有完整的课)
CS193P说有prerequisite,一开始被吓到,事实证明还是可以学下去的。头两节课一头雾水,没关系,把itunes U上的课件下载下来,把所有代码打出来,然后一个个元素对应之前学的语言匹配,再不懂先放着,继续学后边的,过几天打多点代码就懂了。
感觉学5、6堂课,一个星期左右就可以开始进入下一阶段自己做东西了。之后用啥学啥,每堂课都有主题的。速度慢点的同学们,这阶段跟我一样准备两个星期吧!
第三步:开发app!
时间预计:2星期(本人...1个半月,实在不好意思说出口)
这个时间就可长可短啦,还包括美工,交互啥的。坚持要用啥学啥的原则,其实就是知道iOS SDK都有什么组件,每个组件有什么function而已。stackoverflow, Github, apple sample code多上,搜索引擎多用。如果有个师傅,这个阶段真的是进步神速。
好的!不出意外,你的第一个app就这么新鲜出炉了!从今天开始,成为一个冷艳逼格高尚的iOS开发者吧!
你做过表格页面的开发吗?
在网上看到两个实现demo,可以说是两种方式实现的。
大致就是顶部的航标题用一个TopCollectionView封装实现,底部的表格使用JContentTableView封装实现,tableViewCell里是一个collectionView,每一行有一个collectionView,稍微自己处理下数据源还是可以使用的。
大致就是自己封装了一个view,视图由LeftTableView,RightTableView,TopScrollView实现。
RightTableViewCell里是scrollView,使用的按钮实现的表格的效果。看完这个实现还是不推荐吧。
暂时只是学习了下实现,后续有啥问题更新吧~~~