一个Bug/Masonry的引入
作者:网络转载 发布时间:[ 2015/4/27 10:04:50 ] 推荐标签:Masonry 缺陷管理 Bug
看一下赋值过程:
(lldb) po $x0
<CALayer:0x174c38500; position = CGPoint (215 220.375); bounds = CGRect (0 0; 55 6); delegate = <GrayPageControl: 0x15fe26ca0; baseClass = UIPageControl; frame = (187.5 217.375; 55 6); autoresize = W; layer = <CALayer: 0x174c38500>>; sublayers = (<CALayer: 0x170a3fd40>, <CALayer: 0x1704250a0>, <CALayer: 0x174c38200>, <CALayer: 0x174c38080>); opaque = YES; allowsGroupOpacity = YES; >
(lldb) finish
(lldb) po 0x174c38500
<CALayer:0x174c38500; position = CGPoint (215 220.375); bounds = CGRect (0 0; 110 6); delegate = <GrayPageControl: 0x15fe26ca0; baseClass = UIPageControl; frame = (160 217.375; 110 6); autoresize = W; layer = <CALayer: 0x174c38500>>; sublayers = (<CALayer: 0x170a3fd40>, <CALayer: 0x1704250a0>, <CALayer: 0x174c38200>, <CALayer: 0x174c38080>); opaque = YES; allowsGroupOpacity = YES; >
这里借了台iPhone 6/iOS8, cpu是ARM64 所以得参考下面link里bcattle的补充回答,寄存器是$x0, iphone 5/iOS7 上用$r0 但是居然值没变化。模拟器上没成功。另外同样是layoutSubviews 前者是UITableView的,后者是UITableViewCell调用的。
http://stackoverflow.com/questions/13976219/how-do-i-set-an-lldb-watchpoint-on-a-property-of-self-view
好奇满足了,然后想办法解决。so上搜索PageControl UITableViewCell layoutSubViews/center 等等,没有看到相关讨论。某天学了一点AutoLayout赶紧过来写一行:
1 [pc setTranslatesAutoresizingMaskIntoConstraints:NO];
2 [cell.contentView addConstraints:[NSLayoutConstraint
3 constraintsWithVisualFormat:@"H:|-0-[pc]-0-|”
4 options:0
5 metrics:nil
6 views:NSDictionaryOfVariableBindings(pc)]];
7
8 [cell.contentView addConstraints:[NSLayoutConstraint
9 constraintsWithVisualFormat:[NSString stringWithFormat: @"V:|-%f-[pc]-11-|", CGRectGetHeight(scroll.frame)-11-6]
10 options:0
11 metrics:nil
12 views:NSDictionaryOfVariableBindings(pc)]];
不卖关子,成功了。于是结论出来了,AutoLayout升级为必修。Masonry,我来了。
1 [pc mas_makeConstraints:^(MASConstraintMaker * make){
2 make.bottom.equalTo(cell.contentView.mas_bottom).with.offset(-6);
3 make.centerX.equalTo(cell.contentView.mas_centerX);
4 }];
尾声:storyboard的预览功能+sizeClass会不会比传统的手码代码快一点呢?
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
软件测试理论之缺陷管理Bug的生命周期的跟踪管理是怎么形成的?目前比较好用的缺陷管理工具都具备什么特点?缺陷等级的标准是如何判定的?有什么好用的缺陷管理工具吗?缺陷管理中缺陷的状态有哪些?如何进行状态管理?软件测试中的缺陷管理步骤和策略如何有效结合缺陷管理工具和缺陷管理流程?ALM(生命周期管理软件)之缺陷管理-缺陷流程处理ALM(生命周期管理软件)之缺陷管理-缺陷导出与修改ALM(生命周期管理软件)之缺陷管理-缺陷模版配置、导入缺陷ALM(生命周期管理软件)之缺陷管理-提交缺陷缺陷管理之Bug修复软件缺陷管理缺陷管理之测试新手缺陷管理项目实战缺陷管理工具:JIRA系统部署推进上线流程软件缺陷管理流程
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南