ios中layoutsubview何时被js调用ios方法

收藏,392 浏览
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
在6+中cell的textLabel会被cell的layoutSubView改变frame(x从原来的15变成了20),虽然可以通过不调用[super layoutSubviews];来防止被改变,但是这样之后,如果是带有image的cell,imageview的大小会变成1,1, 只能手动来设置subviews的位置了。那么问题来了,能不能又别的办法让cell的layout不改变textLabel的位置
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
试试在 cell 加载的时候把 contentView 的规则都干掉试试?
[self.contentView removeConstraints:self.contentView.constraints];
然后自己写规则:
- (void)updateConstraints
[super updateConstraints];
[self.contentLabel autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsMake(kLabelVerticalInsets, kLabelHorizontalInsets, kLabelVerticalInsets, kLabelHorizontalInsets)];
我觉得这样可控性更高
同步到新浪微博
欢迎来到最专业的开发者社区
终于被你注意到了 ^_^,如果你觉得这个社区还不错,记得要加入我们哦
最专业的开发者社区
最前沿的技术问答,最纯粹的技术切磋。让你不知不觉中开拓眼界,提高技能,认识更多朋友。
分享到微博?
删除理由:
删除理由:
忽略理由:
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
内容质量差,或不适合在本网站出现
其他原因(请补充说明)
补充说明:
举报理由:
带有人身攻击、辱骂、仇恨等违反条款的内容
与已有问题重复
内容质量差,或不适合在本网站出现
答非所问,不符合答题要求
其他原因(请补充说明)
补充说明:因为它处处让人不舒服&br&&br&以我一个外貌协会的角度,单从文档来看,现在apportable那个团队,比cocos2dx那个靠谱很多,即使cocos2dx有cocos2d-iphone的原作者(对,就是那个弄出老版本的layer事件处理的人!)&br&&br&我觉得接下来关键看apportable的质量如何(spritebuilder已经很好用),更看好cocos2d-iphone这个项目&br&&br&cocos2d-x就是一个丑妇东施,不过也不排除上的人多了,赚的钱多了,能找到更多厉害的人加入,如果还是现在这群人,呵呵呵...
因为它处处让人不舒服以我一个外貌协会的角度,单从文档来看,现在apportable那个团队,比cocos2dx那个靠谱很多,即使cocos2dx有cocos2d-iphone的原作者(对,就是那个弄出老版本的layer事件处理的人!)我觉得接下来关键看apportable的质量如何(spritebui…
我记得我当时是把xcode项目自动生成的xib文件都删除掉的。。。
我记得我当时是把xcode项目自动生成的xib文件都删除掉的。。。
当讨论代码风格代码规范的时候,其实大家真的不单纯是能够用道理来讲的,其中的有些问题,就跟各人喜欢什么样的音乐风格一样,是有点哲学性的问题,[引用]“如果有一天我们因为下载音乐而入狱,请把我们按音乐风格分开” [/引用]&br&&br&但是人很奇怪,明明有些东西自己其实也不觉得有太大道理,还是很想找出理由说服别人(我确实还挺热衷讨论规范这个东西的 = =)&br&&br&不评论他们这个规范的质量,因为程序员之间的编码风格差异很大,我们都死脑筋一般都不会轻易改变,而且有些东西确实说不准哪个更好,可能单纯只是一个改变了会让自己不爽的习惯而已&br&&br&但是NYTimes的这个规范似乎不是很全面倒是真的&br&&br&对于我自己来说,最重要的原则是编码规范要有利于减少编码过程中的错误,所以我主张每学习一个编程语言的时候都要不断的总结并且调整自己使用这个编程语言的时候规范,这样慢慢的形成很多pattern,其中的不少是多种编程语言中通用的。然后objc我自己的风格大概是这个样子:&a href=&/skatou/XJWaterfallView& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&skatou/XJWaterfallView 路 GitHub&i class=&icon-external&&&/i&&/a&&br&&br&&b&Dot-Notation Syntax&/b&&br&我基本是只有取struct的一个成员的时候才用Dot,property是绝对不会用的,因为我觉得语法没有准确的表达语义,property是方法,所以我一定要写成[instance property],否则受不了,好像以前回过个类似的 &a href=&/question//answer/& class=&internal&&关于self.property 和property的使用情况?&/a&&br&&br&&b&Spacing&/b&&br&我觉得四空格是共识,你看上面不也有不同意见么= =&br&这个东西我基本用topcoder做java的那一套了,基本的就是K&R。但是我想说强迫症,如果你觉得有没有尾空格无所谓,如果你觉得单行代码长度有没限制无所谓,如果你觉得一行代码是不是只能定义一个变量无所谓,如果你觉得if、for、while等block的前后有没有空行,空多少行无所谓,如果你觉得变量定义和一般语句之间有没空行无所谓,如果你觉得文件最后面是不是多个回车无所谓,如果你觉得一个很长的if分成两行写第二行缩进多少无所谓,如果你觉得@property跟一般的方法声明之间是不是有空行无所谓…………那你真的不要说自己是强迫症了&br&&br&&b&Conditionals&/b&&br&&b&Ternary Operator&/b&&br&觉得这些个应该是共识。。。&br&&br&&b&Methods&/b&&br&觉得无所谓,关键是要高度一致&br&&br&&b&Variables&/b&&br&呃,这个(NSString *text)我接受不了,虽然编译器好像更亲text,但是我还是觉得*就是类型的一部分,而且一行永远不定义多个变量的话总是能写成NSString* text&br&&br&&b&Comments&/b&&br&永远不在同一行又写代码又写注释&br&&br&&b&init and dealloc&/b&&br&如果你觉得import的顺序无所谓,如果你觉得前缀不同的import之间是不是需要空行无所谓,如果你觉得公有方法和私有方法的顺序无所谓,如果你觉得方法定义的顺序跟方法声明的顺序是否对应无所谓,如果你觉得方法声明是否需要归类,类别之间是否需要空行无所谓…………那你真的不要说自己是强迫症了&br&&br&&b&Literals&/b&&br&我是拒绝奇怪的literals的,所以我不喜欢NYTimes的这个规范。我觉得一个事情有一个语法做了就不要创造其他语法为好(所以我也不喜欢Python的吹嘘),但是对于类似string、int这种也不用literal我觉得挺变态的,所以我也从来不说自己是强迫症。。。&br&&br&&b&CGRect Functions&/b&&br&上面说CGRectGetMinX这种效率低的先生,我怎么记得这些是宏定义啊?(不做ios了身边没有环境证实不了 = =),而且如果做UI会因为这些影响效率那是调用了多少次,这样的UI真的能显示出来啊 = =&br&&br&&b&Constants&/b&&br&觉得是共识&br&&br&&b&Private Properties&/b&&br&点头&br&&br&&b&Booleans&/b&&br&这个用isAwesome == YES不好还真的不知道,但是又很纠结,没有真正boolean类型下不了手写叹号(!),这个怎么办?&br&&br&&b&Singletons&/b&&br&点头
当讨论代码风格代码规范的时候,其实大家真的不单纯是能够用道理来讲的,其中的有些问题,就跟各人喜欢什么样的音乐风格一样,是有点哲学性的问题,[引用]“如果有一天我们因为下载音乐而入狱,请把我们按音乐风格分开” [/引用]但是人很奇怪,明明有些东西…
我认为最大的缺点是提供了weak reference(这个很好)却无法提供向后兼容的方案,weak在ios5以前以unsafe unretain的方式存在,这使得要支持ios4的app还是要非常注意清理现场的工作。除了这个,ARC真好&br&&br&至于内存泄漏还是不能完全避免的,比如循环引用
我认为最大的缺点是提供了weak reference(这个很好)却无法提供向后兼容的方案,weak在ios5以前以unsafe unretain的方式存在,这使得要支持ios4的app还是要非常注意清理现场的工作。除了这个,ARC真好至于内存泄漏还是不能完全避免的,比如循环引用
hr是打工的又不是老板,老板说没有问题就没问题
hr是打工的又不是老板,老板说没有问题就没问题
自学这种问题,总是可以的话它就可以,不可以的话就不可以
自学这种问题,总是可以的话它就可以,不可以的话就不可以
无网络,没带ipod的时候用,我要听什么自己知道,找新的会看友邻,不需要豆瓣推荐
无网络,没带ipod的时候用,我要听什么自己知道,找新的会看友邻,不需要豆瓣推荐
首先为什么其他app会卡,是因为其他大多数app是用了tableview,tableview动态加载每个cell,cell的生成初始化和布局都需要时间,就算是简单的只有一个多行文字label的cell,加上高度cache之类的优化,也做不到这么顺滑&br&&br&所以猜测一下:&br&豆瓣广播并没有使用tableview,而是使用了一个scrollview,每次服务器上取回数据以后一次生成所有的cell,布局好添加到scrollview上。根据是内存在每次载入更多后都会减少几兆,然后在每次载入更多过程中,最后一段时间会有界面卡住的过程,这个大概应该是在主线程进行布局所花的时间&br&&br&&br&但是豆瓣广播app的滑动效果并不是完美的,如果你swipe一下,仔细观察减速到停顿那段时间的动画,你应该可以看到画面在跳动,应该是有什么地方没有处理好。继续猜一下,生成的cell并没有全部加到scrollview上,而是有根据cell是否可见做了回收,但是tiling逻辑没有优化好&br&&br&至于真实情况就要等豆瓣的工程师来回答了
首先为什么其他app会卡,是因为其他大多数app是用了tableview,tableview动态加载每个cell,cell的生成初始化和布局都需要时间,就算是简单的只有一个多行文字label的cell,加上高度cache之类的优化,也做不到这么顺滑所以猜测一下:豆瓣广播并没有使用tabl…
你看他是怎么工作就是怎么实现的&br&&br&最上面的可以做个tableview改transform或者enable pagination的scrollview,判断哪个头像在中间&br&下面铁个背景,换view做个animation&br&最开始头像的animation可以通过animate scrollview的宽度,配合它的layoutsubview实现&br&如果要实现头像无限滚动,注意view重用,以及根据scrollview的bounds来tile看得见的头像view
你看他是怎么工作就是怎么实现的最上面的可以做个tableview改transform或者enable pagination的scrollview,判断哪个头像在中间下面铁个背景,换view做个animation最开始头像的animation可以通过animate scrollview的宽度,配合它的layoutsubview实现如果要…
工程就是工程呢&br&代码规范(自我规范)的一个很重要的目的就是降低出错的几率,既然使用getter和setter不需要思考干嘛还要使用其他更可能出错的方法呢?对效率的影响?那么一丁点根本不在我的考虑范围&br&&br&另外,getter和setter不一定是synthesize出来的,getter你可以lazy initialize,可以嵌入更多初始化逻辑,不需要关心用到某个成员的时候是不是初始化了(ios里面这些时机很重要);setter你可以嵌入更多清理现场逻辑,比如cancel一个connection。这样做了你换实现方法也很方便,改一个地方就安心&br&&br&编程时要注意的细节太多了,能够避免的繁琐还是应该想方法避免,多样化那是聪明人的游戏,我这种不够聪明的还是靠躲&br&&br&另外,虽然大家都觉得写self.prop爽,我自己也觉得self.prop爽,但是我比较倾向写[self prop],因为首先self.prop是语法糖,然后我觉得想怎样就要明确写出来,self.prop在没有synthesize的情况下,效果也是没有,出了事还没意识到呢
工程就是工程呢代码规范(自我规范)的一个很重要的目的就是降低出错的几率,既然使用getter和setter不需要思考干嘛还要使用其他更可能出错的方法呢?对效率的影响?那么一丁点根本不在我的考虑范围另外,getter和setter不一定是synthesize出来的,getter你…
随便配个蓝牙鼠标好了,因为air自带蓝牙,带接收器的话不仅浪费接口而且老是插拔也不方便&br&&br&ls那些装逼说不用鼠标的lz就不要管他们了,答非所问,一看就是程序员
随便配个蓝牙鼠标好了,因为air自带蓝牙,带接收器的话不仅浪费接口而且老是插拔也不方便ls那些装逼说不用鼠标的lz就不要管他们了,答非所问,一看就是程序员
XXX重度用户,技术geek??
XXX重度用户,技术geek??
无法得到参数,@selector (SEL)实际上是用NSString实现的,剩下的系统怎么做,自己推测&br&&br&参数类型来说可以都转成void*
无法得到参数,@selector (SEL)实际上是用NSString实现的,剩下的系统怎么做,自己推测参数类型来说可以都转成void*
我觉得都不适合,听音乐也是要专心的
我觉得都不适合,听音乐也是要专心的
真要自己做事情都是要实打实的吧,只是需要有个小东西的话不是威客上付点钱更简单吗 -.-
真要自己做事情都是要实打实的吧,只是需要有个小东西的话不是威客上付点钱更简单吗 -.-
不是需求设计好了就可以的,还要看工作量。。。。这种重复的工作很多。。。还有,推送这个事情是要服务器端做很多事情的,不知道你服务器端有没有好了
不是需求设计好了就可以的,还要看工作量。。。。这种重复的工作很多。。。还有,推送这个事情是要服务器端做很多事情的,不知道你服务器端有没有好了4956人阅读
转自:http://jianyu996./blog/static//
首先两个方法都是异步执行。layoutSubviews方便数据计算,drawRect方便视图重绘。
layoutSubviews在以下情况下会被调用:
1、init初始化不会触发layoutSubviews。
2、addSubview会触发layoutSubviews。
3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化。
4、滚动一个UIScrollView会触发layoutSubviews。
5、旋转Screen会触发父UIView上的layoutSubviews事件。
6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件。
7、直接调用setLayoutSubviews。
drawRect在以下情况下会被调用:
1、如果在UIView初始化时没有设置rect大小,将直接导致drawRect不被自动调用。drawRect 掉用是在Controller-&loadView,&Controller-&viewDidLoad&两方法之后掉用的.所以不用担心在 控制器中,这些View的drawRect就开始画了.这样可以在控制器中设置一些值给View(如果这些View&draw的时候需要用到某些变量
值).
2、该方法在调用sizeToFit后被调用,所以可以先调用sizeToFit计算出size。然后系统自动调用drawRect:方法。
3、通过设置contentMode属性值为UIViewContentModeRedraw。那么将在每次设置或更改frame的时候自动调用drawRect:。
4、直接调用setNeedsDisplay,或者setNeedsDisplayInRect:触发drawRect:,但是有个前提条件是rect不能为0。
以上1,2推荐;而3,4不提倡
drawRect方法使用注意点:
1、 若使用UIView绘图,只能在drawRect:方法中获取相应的contextRef并绘图。如果在其他方法中获取将获取到一个invalidate 的ref并且不能用于画图。drawRect:方法不能手动显示调用,必须通过调用setNeedsDisplay&或 者&setNeedsDisplayInRect,让系统自动调该方法。
2、若使用calayer绘图,只能在drawInContext:&中(类似鱼drawRect)绘制,或者在delegate中的相应方法绘制。同样也是调用setNeedDisplay等间接调用以上方法
3、若要实时画图,不能使用gestureRecognizer,只能使用touchbegan等方法来掉用setNeedsDisplay实时刷新屏幕
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:151448次
积分:1737
积分:1737
排名:第9751名
原创:22篇
转载:73篇
(2)(2)(1)(2)(1)(1)(1)(13)(3)(1)(4)(3)(2)(1)(1)(1)(1)(5)(12)(2)(21)(4)(12)(1)(1)(1)

我要回帖

更多关于 js调用ios方法 的文章

 

随机推荐