iOS开发之应用程序

原创 2015年11月18日 22:28:35

废话不多说,效果图展示:

QQ20151118-3@2x

点击下载按钮,会弹出提示。

通过这个小程序,我们可以学习到哪些知识呢?

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

《iOS开发之美》学习笔记

学习资料: iOS开发之美 和凌志著 版次:2014年11月第1版 第1篇 Objective-C语法篇 第1章 iOS开发环境的搭建 第2章 Objective-C编程语言特性 第2篇 ...
  • desirelll
  • desirelll
  • 2016年04月23日 19:04
  • 231

使用pjsip开发VoIP应用程序

使用pjsip开发VoIP应用程序 编译make配置
  • wutiyixin
  • wutiyixin
  • 2013年12月27日 14:08
  • 2125

iOS应用间调用

1.新建两个应用,分别为A和B.     2.设置应用B的url。 3.在应用A中编写打开app的代码 点击之后,会跳转到新的控制器。 注意:打开应用B的过程中,B有两种状态。 第一种状态:B并没...
  • u014202635
  • u014202635
  • 2015年11月30日 17:31
  • 305

s3c2440 ADC 应用程序编程

要做一个项目需要用到mini2440上的adc ,经查 发现其中的8个adc端口只能使用4个(只给了4个输入引脚AIN0,AIN1,AIN2,AIN3),其他的几个通道为触摸屏使用 我在使用adc时遇...
  • LeeeWilliam
  • LeeeWilliam
  • 2015年06月01日 20:33
  • 369

iOS 开发 网络编程详解之基本网络通信过程

基本网络通信模型请求HTTP协议规定:一个完整的由客户端发给服务器的 HTTP 请求 需要包含以下内容 请求行 请求头 请求体(可选)请求行 请求行:指定 请求方法、请求资源路径 以及 HTTP协议...
  • kuangdacaikuang
  • kuangdacaikuang
  • 2016年11月28日 23:13
  • 554

ios开发之获取应用程序列表

有的时候,我们需要在实现应用间调用功能,系统自带的方式固然方便。 但是,如果我们能在调用前先获取系统的应用列表岂不更爽快。因此,今天 我们就来实现获取应用列表的功能。直接上代码! + (BOOL) ...
  • xiaoxiaoyong1111
  • xiaoxiaoyong1111
  • 2013年07月09日 20:42
  • 809

移动开发之iOS基础开发(五)iOS开发中的MVC设计实现

使用MVC的目的是讲
  • lyc_omg
  • lyc_omg
  • 2014年05月09日 20:30
  • 1406

android自动化测试之dumpsys性能测试

Java代码   dumpsys 用来给出手机中所有应用程序的信息,并且也会给出现在手机的状态。   dumpsys [Option]                  meminf...
  • lideguo1979
  • lideguo1979
  • 2012年07月19日 01:57
  • 1231

iOS开发之旋转动画及GIF格式图片的播放

iOS开发之旋转动画及GIF格式图片的播放
  • l2i2j2
  • l2i2j2
  • 2016年04月29日 23:06
  • 835

芒果iOS开发之高级面试题一

本文转载自《如何招聘一个靠谱的iOS》面试题来源是微博@我就叫Sunny怎么了的这篇博文:《招聘一个靠谱的 iOS》,其中共55题,除第一题为纠错题外,其他54道均为简答题。         主要目录...
  • CrazyZhang1990
  • CrazyZhang1990
  • 2015年12月25日 22:43
  • 2212
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发之应用程序
举报原因:
原因补充:

(最多只允许输入30个字)