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应用程序装到自己的iOS设备上测试、或者装在别人的iOS设备上,或者想发布到App Store里,先要给应用签名。签名就要有证书,这就需要申请证书的过程了。 把自己的应用程序装...

ios开发笔记-在App Store发布应用程序

转自:https://lwxshow.com/post/1126.html ios开发笔记-在App Store发布应用程序 | 发表于:六月 26th, 2012 | 作者:ava. | 没...

刚学习IOS开发的一些经历和麻烦应用程序生命周期

一个月前买了台MacBook Pro,大概是在5月10号吧,买台苹果笔记本真是让我破费了,本来是一穷人家出生的农村孩子,却被公司同事封上富二代\大款的称号.哈哈,闲话少说了,转正题吧.    第一天:...

iOS开发教程:构建多视图应用程序

大部分的iOS应用都是多视图的应用程序,在iOS 5 SDK的Storyboard中,可以通过NavViewContoller或者TabViewController拖动的方式很轻松的创建多视图应用程序...

应用程序挂起、复原与终止— IOS开发

一、挂起 当有电话进来或者锁屏,这时你的应用程会挂起,在这时,UIApplicationDelegate委托会收到通知,调用applicationWillResignActive 方法,你可以重...
  • alanzn
  • alanzn
  • 2012年08月28日 14:55
  • 400

IOS开发学习笔记(六)——多视图应用程序之StoryBoard实践

StoryBoard是iOS开发中重要的角色,可以实现可视化的程序页面切换逻辑控制。下面我们通过简单的例子来看看StoryBoard的使用方法。 我们新建一个SingleViewAp...

IOS开发学习笔记(五)——多视图应用程序之框架分析

我们之前学习了Single View Application的创建和设置,当然我们的程序不可能只有一个界面,所以我们需要对多视图进行支持。 我们首先来看看最简单的多视图应用:Utility ...

ios开发笔记如何在iphone-and-ipad应用程序添加admob

转自:https://lwxshow.com/post/1474.html AdMob是另一家移动电话广告市场,现在已被Google收购。借助AdMob, 谷歌计划将其网络搜索主导地位从电脑平台扩展向...

Ios开发之Apns功能介绍(应用程序通知)及PHP/Python代码

欢迎访问我的博客,http://www.paulwangblog.com 最近的一个项目在开发一个iphone客户端,客户提出要做一个程序即使在后台也可以弹出的消息提示,这是目前大量ios应...

应用程序挂起、复原与终止— IOS开发

一、挂起 当有电话进来或者锁屏,这时你的应用程会挂起,在这时,UIApplicationDelegate委托会收到通知,调用applicationWillResignActive 方法,你可以重...
  • cwq9944
  • cwq9944
  • 2012年09月13日 13:04
  • 599
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发之应用程序
举报原因:
原因补充:

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