仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2233|回复: 19
打印 上一主题 下一主题

[学习教程] IOS制作之怎样利用Android自界说复合视图仓酷云

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-18 11:30:22 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
多线程问题还有胶水代码的问题建立一个基于CoreData的工程你会看到他自动创建3个类的对象NSManagedObjectModel管理数据的存储结构文件扩展名是xcdatamodeldNSPersistentStoreCoordinator用来管理底层数据的存储用官方的话说CoreDataisnotarelationaldatabaseorarelationaldatabasemanagementsystem(RDBMS)在比来的一个客户使用中,我碰到了一个需求,依据选定的值来天生指定命量的编纂框字段,如许用户能够输出人物信息。最后我的设法是把这些逻辑放到Fragment中,只是依据选中值的变更来向线性结构容器中增添编纂框数目,可是那样做会使Fragment过分收缩,并且没有太多可重用性方面的思索。

<br>
这是一个尽好的时机,能够将这些交互功效封装到自界说视图中。自界说视图能够在全部使用局限重用(今朝为止最少有2个中央),而且让测试封装功效变得我加倍轻松。
甚么是自界说视图

Android框架供应了良多的视图和结构,但有些情形下开辟者必要创立本人的视图。偶然候是扩大内置的类来增添功效,就像在文本框中撑持自界说字体和字符间距。其他情形下,由于内置的视图不克不及供应所需的功效,就像径向刻度盘。
如今会商的是自界说复合视图。视图由多个其他的视图构成,内置的或自界说的都能够,用来封装庞大的交互和功效。
在一个成熟且完全的Fragment完整满意我需求的情形下,我利用了复合视图,由于我想要一个可重用、可测试的组件。下面的例子很好的申明了这类情形。因为代码属于一个客户项目,以是我在这里创立了一个复杂的项目展现怎样创立和利用自界说视图。
自界说视图

在本例中,我们但愿自界说视图增加编纂框,如许用户就能够输出恣意数目的数据条目。在自界说视图中,能够经由过程利用一个包括了得当数目编纂框的复杂容器视图(线性结构)完成,因此能够很简单地猎取称号列表。代码以下:
<p>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/**
*Acustomcompoundviewthatdisplaysanarbitrary
*numberoftextviewstoenteryourfriendsnames.
*/
publicclassFriendNameViewextendsLinearLayout{
privateintmFriendCount;
privateintmEditTextResId;
publicFriendNameView(Contextcontext){
this(context,null);
}
publicFriendNameView(Contextcontext,AttributeSetattrs){
this(context,attrs,0);
}
publicFriendNameView(Contextcontext,AttributeSetattrs,intdefStyle){
super(context,attrs,defStyle);
setOrientation(VERTICAL);
}
publicintgetFriendCount(){
returnmFriendCount;
}
publicvoidsetFriendCount(intfriendCount){
if(friendCount!=mFriendCount){
mFriendCount=friendCount;
removeAllViews();
for(inti=0;i<mFriendCount;i++){
addView(createEditText());
}
}
}
privateViewcreateEditText(){
Viewv;
if(mEditTextResId>0){
LayoutInflaterinflater=LayoutInflater.from(getContext());
<p>v=inflater.inflate(mEditTextResId,this,
兰色精灵 该用户已被删除
19#
发表于 2015-6-12 10:39:16 | 只看该作者
众多研发人员积极参与到iOS平台的开发中来也就不足为奇了。
小妖女 该用户已被删除
18#
发表于 2015-5-7 19:31:00 | 只看该作者
学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。
飘灵儿 该用户已被删除
17#
发表于 2015-5-6 13:11:08 | 只看该作者
down下code4app网站的每个分类的代码挨着看
精灵巫婆 该用户已被删除
16#
 楼主| 发表于 2015-5-6 13:10:45 | 只看该作者
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
海妖 该用户已被删除
15#
发表于 2015-4-22 03:39:57 | 只看该作者
好处就是运行速度会变快,ios6针对系统的优化进一步加强了,很多网友测试ios6,第一感觉就是速度快,而且ios69会有一些新功能,新浪微博,facetime支持3G网等等。。弊端就是,现在的ios6只能算是正式版本的第一个版本,bug很多,不少人刷完ios6都出现了很多毛病,开不开机,缺少图标等等。。最好现在不要升级,等官网放出下一个版本的时候,再选择升级。。。
分手快乐 该用户已被删除
14#
发表于 2015-4-19 08:58:10 | 只看该作者
看《iPhone 4与iPad开发基础教程》,跟着一步步来
因胸联盟 该用户已被删除
13#
发表于 2015-4-15 06:36:28 | 只看该作者
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
第二个灵魂 该用户已被删除
12#
发表于 2015-4-6 21:57:38 | 只看该作者
看《iPhone 4与iPad开发基础教程》,跟着一步步来
深爱那片海 该用户已被删除
11#
发表于 2015-4-6 01:16:29 | 只看该作者
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
蒙在股里 该用户已被删除
10#
发表于 2015-3-23 11:22:14 | 只看该作者
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-17 01:10:14 | 只看该作者
down下code4app网站的每个分类的代码挨着看
8#
发表于 2015-3-13 01:05:15 | 只看该作者
众多研发人员积极参与到iOS平台的开发中来也就不足为奇了。
小魔女 该用户已被删除
7#
发表于 2015-3-7 06:09:21 | 只看该作者
看《iPhone 4与iPad开发基础教程》,跟着一步步来
愤怒的大鸟 该用户已被删除
6#
发表于 2015-3-2 21:50:44 | 只看该作者
同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
老尸 该用户已被删除
5#
发表于 2015-3-1 08:36:31 | 只看该作者
培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,
若天明 该用户已被删除
地板
发表于 2015-2-10 10:12:35 | 只看该作者
培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。
谁可相欹 该用户已被删除
板凳
发表于 2015-2-4 21:01:40 | 只看该作者
因为我们老师也是自学的,给我们讲课说的最多的就是百度,谷歌,查文档。
乐观 该用户已被删除
沙发
发表于 2015-2-4 20:53:47 | 只看该作者
以上可以同时进行,学习过程中尽量不要纠结细节和底层,要知道ios是封闭的、OC是高级语言,我们不可能过多地去了解它的原理,至少在新手阶段没有必要。用迭代的方式更新你的知识,而不是死抠一个知识点。
活着的死人 该用户已被删除
楼主
发表于 2015-1-30 12:54:18 | 只看该作者
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:39

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表