仓酷云

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

[学习教程] IOS教程之Layout Inflation不克不及这么用仓酷云

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:29:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这个不用疑惑照做就行了文档:高级库(发动机)UIKit---UI库OBJCUIResponderayoutinflation在Android高低文情况下转换XML文件成View布局对象的时分必要用到。
LayoutInflater这个对象在Android的SDK中很罕见,可是你相对没想到居然可以找到一个利用误区。说不定你的App里就是这么用的!假如你在写APP的时分像以下代码一样利用LayoutInflater的话:
1
inflater.inflate(R.layout.my_layout,null);

请你持续读完这篇文章,稍后我会注释为何如许做不合错误。
熟悉LayoutInflater

起首看一下LayoutInflater的事情道理,有两个重载的版本可使用:
inflate(intresource,ViewGrouproot)和inflate(intresource,ViewGrouproot,booleanattachToRoot)
第一个参数指出要载进的结构文件资本,第二个参数指出视图布局中载进的结构将要放进的根视图。假如有第三个参数,那末它用来决意是不是把载进后的视图绑定到给出的根视图中。
最初两个参数大概会招致一些成绩。假如利用两个参数的版本,Layoutinflater会主动实验把载进的视图绑定到给定的根视图对象中。可是,假如你传送null,体系就不会实验绑定操纵了,不然使用程序就溃散了。
良多开辟者会如许做,以为传送null作为根视图就能够禁用绑定操纵了。良多时分良多开辟者乃至不晓得另有三个参数的Layoutinflater版本的存在,假如这么做的话,也会同时禁用了根视图的一个很主要的函数……可是之前我没有研讨过。
框架中的示例

如今我们来细心看看Android框架关于静态载进结构的场景。
Adapter是最经常使用的场景,我们常常必要利用LayoutInflater来自界说ListView(经由过程重写getView()办法),详细的办法署名是如许的:
1
getView(intposition,ViewconvertView,ViewGroupparent)

Fragment也会用到inflation操纵,经由过程onCreateView()办法创立view的时分会用到。这个办法的署名是如许的:
1
onCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState)

不知你有无注重到这一点,每次Framework必要你往载进一个结构文件时,城市传进一个ViewGroup参数(最初必要绑定到的根视图),假如Layoutinflater设为主动绑定到根视图的话,会抛出一个非常。
以是你想一想看,假如我做绑定操纵的话,为何要给你一个ViewGroup参数呢?现实证实父视图在这个inflation操纵过程当中是很主要的,它管帐算被载进的XML在根元素中的LayoutParams,假如传进null话,就即是是告知框架“我不晓得载进的View要放到哪一个父视图中”。
成绩在于,android:layout_xxx属性会在父视图对象中被从头盘算,了局就是一切你界说的LayoutParams城市被疏忽失落(由于没有已知的父视图对象)。然后你就烦闷“为何框架会疏忽失落我本人界说的结构属性呢?仍是往StackOverFlow上看看,提一个bug吧”。

在python中的函数__xxxNSString字符串NSArray数组NSDictionary字典这些都需要弄很清楚其他的类都是一个套路NSMutableArray这样带Mutable的类代表可变的
因胸联盟 该用户已被删除
沙发
发表于 2015-1-18 17:16:04 | 只看该作者
其次学习方法和学习心态很重要,在学习当中应该保持一颗良好的心态。应该借鉴别人好的学习方法,大家互相帮助,取长补短。
不帅 该用户已被删除
板凳
发表于 2015-1-20 12:32:21 | 只看该作者
才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。
柔情似水 该用户已被删除
地板
发表于 2015-1-24 12:43:14 | 只看该作者
我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。
山那边是海 该用户已被删除
5#
发表于 2015-2-1 12:11:53 | 只看该作者
在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解
飘灵儿 该用户已被删除
6#
发表于 2015-2-7 04:44:44 | 只看该作者
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
变相怪杰 该用户已被删除
7#
发表于 2015-2-8 17:39:20 | 只看该作者
看完这个你就可以有多种选择来踏入做应用的阶段
莫相离 该用户已被删除
8#
发表于 2015-2-25 21:49:04 | 只看该作者
重要的是,放眼全球也的确找不到第二个如苹果iOS平台这样健壮、完整、先进而且为开发者带来真实收益的开发平台来。
海妖 该用户已被删除
9#
发表于 2015-3-2 19:38:07 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
只想知道 该用户已被删除
10#
发表于 2015-3-4 02:40:32 | 只看该作者
iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。
冷月葬花魂 该用户已被删除
11#
发表于 2015-3-8 21:32:23 | 只看该作者
然而,在vmware软件环境下,安装Mac OS X操作系统也是一件非常复杂的事情,而且还有可能花费了大量时间,最后却跑不起来。笔者也是经过了大量的实践,
灵魂腐蚀 该用户已被删除
12#
发表于 2015-3-11 01:30:39 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
乐观 该用户已被删除
13#
发表于 2015-3-20 11:56:20 | 只看该作者
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
admin 该用户已被删除
14#
发表于 2015-4-10 11:31:28 | 只看该作者
首先是基础,在汉昌的课程非常全面。从object—c到最后的毕业项目,基本上方方面面都涉及到了,我是一名非计算机专业的学生,起初学习还有点吃力,因为基础知识薄弱。经常像听天书
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-13 20:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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