iOS开发之应用程序
2015-11-18 22:28
661 查看
废话不多说,效果图展示:
点击下载按钮,会弹出提示。
通过这个小程序,我们可以学习到哪些知识呢?
上面的代码,我们是以label的alpha的值的改变来做动画效果的,就是label的透明度从0到1的渐变,这里我们是嵌套两组动画,一个是透明度从0到1的变化,另一个是当第一个动画结束后,执行,让透明度从1再变为0。这里我们又学习到了如何让控件从父视图中移除,使用removeFromSuperview方法。
这里调成图片等比例适应。更多模式请查看说明(我不告诉你按cmd+鼠标点击会跳到定义地方)。
番外篇:readonly修饰的属性,是指指向它的指针不能改变,但是它的指向的地址的内容是可以改变的。
其中需要注意的是id使用instancetype代替,原因如下:
instancetype(只能做为返回值类型,不能作为参数类型) 和 id 区别:主要用于在类方法实例化对象时,让编译器主动推断对象的实际类型以避免使用id,会造成开发中不必要的麻烦,减少出错率。
我们需要在.h文件中声明这两个方法:
在.m文件中进行实现:
这里的SAAppView是我们自己创建的xib文件,appInfo是我们自己设计的类模型。
我在编程的过程中,遇到了一个问题,在xCode6中,提示找不到UIImage,原因是没有引入头文件。
完整工程代码请访问我的git地址:https://git.oschina.net/taylordavid/ApplicationDemo.git
转载请注明原文地址:http://www.idreamteam.cn/?p=61
点击下载按钮,会弹出提示。
通过这个小程序,我们可以学习到哪些知识呢?
1.如何添加一个动画效果。
label.alpha = 0.0; [UIView animateWithDuration:1.0f animations:^{ // 要修改得动画属性 label.alpha = 1.0; } completion:^(BOOL finished) { // 动画完成后所做的操作 [UIView animateWithDuration:1.0f animations:^{ label.alpha = 0.0; } completion:^(BOOL finished) { [label removeFromSuperview]; // 从视图上删除 }]; }];
上面的代码,我们是以label的alpha的值的改变来做动画效果的,就是label的透明度从0到1的渐变,这里我们是嵌套两组动画,一个是透明度从0到1的变化,另一个是当第一个动画结束后,执行,让透明度从1再变为0。这里我们又学习到了如何让控件从父视图中移除,使用removeFromSuperview方法。
2.设置图片的填充模式。
icon.contentMode = UIViewContentModeScaleAspectFit; // 等比例 ..光标在contentMode按esc 提示
这里调成图片等比例适应。更多模式请查看说明(我不告诉你按cmd+鼠标点击会跳到定义地方)。
3.关于UILabel的一些说明。让你更熟悉。
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(icon.frame), kAppViewW, 20)]; label.backgroundColor = [UIColor blueColor]; label.text = dict[@"name"]; // 设置字体 label.font = [UIFont systemFontOfSize:13.0]; // 居中 label.textAlignment = NSTextAlignmentCenter; // 修改字体 button.titleLabel.font = [UIFont systemFontOfSize:12]; // 设置字体 label.font = [UIFont systemFontOfSize:13.0]; // 居中 label.textAlignment = NSTextAlignmentCenter;
番外篇:readonly修饰的属性,是指指向它的指针不能改变,但是它的指向的地址的内容是可以改变的。
4.数据转模型(重要)。
其中需要注意的是id使用instancetype代替,原因如下:instancetype(只能做为返回值类型,不能作为参数类型) 和 id 区别:主要用于在类方法实例化对象时,让编译器主动推断对象的实际类型以避免使用id,会造成开发中不必要的麻烦,减少出错率。
我们需要在.h文件中声明这两个方法:
+ (instancetype)appView; + (instancetype)appViewWithAppInfo:(SAAppInfo *)appInfo;
在.m文件中进行实现:
+ (instancetype)appView { return [[[NSBundle mainBundle] loadNibNamed:@"SAAppView" owner:nil options:nil] lastObject]; } + (instancetype)appViewWithAppInfo:(SAAppInfo *)appInfo { SAAppView * view = [self appView]; view.appInfo = appInfo; return view; }
这里的SAAppView是我们自己创建的xib文件,appInfo是我们自己设计的类模型。
我在编程的过程中,遇到了一个问题,在xCode6中,提示找不到UIImage,原因是没有引入头文件。
#import <UIKit/UIKit.h>
完整工程代码请访问我的git地址:https://git.oschina.net/taylordavid/ApplicationDemo.git
转载请注明原文地址:http://www.idreamteam.cn/?p=61
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- 举例详解iOS开发过程中的沙盒机制与文件
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- 分享一个iOS下实现基本绘画板功能的简单方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器