您的位置:首页 > 移动开发 > IOS开发

iOS开发之应用程序

2015-11-18 22:28 661 查看
废话不多说,效果图展示:





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

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


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