一些Layout的坑。坑死我自己了

iOS这个东西,初学感觉,还好还好,然后一年之后再来修复一下初学的时候的代码,我只是感觉头很晕- - 别扶我。

AutoLayout的坑,明明以前都没有的!!!升了iOS10就突然发现了这个坑,其实也有可能是以前就有,只是没踩到。。。

正点来了

当以前的我使用StoryBoard制定一系列的约束的时候,感觉屏幕适配都不是问题了!

然后以前的我突发奇想,不行,我要加一个代码控件,但是以前的我哪知道AutoLayout这个东西啊。

然后,就手写了个TextView,然后frame:CGRectMake(引用若干StoryBoard控件的frame).然后iOS9的时候一直没出问题。

升级之后突然发现,错位了!然后出错的原因。不知道……

直到我把TextView初始化时的frame移除,改用用NSLayoutConstraint约束之后,所有控件才会正常工作。

这个坑是什么原因呢?不知道……期待以后有大神解答。但是解决方法有了就好。。。

然后刚才检查了一下原因,好像是约束有小数的问题????Xcode8beta自带的bug???我晕!!!

但是,总算解决了,把会产生小数的约束改的漂亮一点点。就不会自动恢复约束了,也不会出现各种bug。

但是还是不建议frame处引用约束过的控件frame,要引用直接加约束就是,不要嫌代码长!。

时间: 2024-10-12 16:09:28

一些Layout的坑。坑死我自己了的相关文章

论后台开发人员中开发前台遇到的坑坑(复名是不是很萌)

小人本后台程序员, 耐何不懂javaScript语言, 谁人不向往未知的明天, 入坑才能挣到钱.(小装一下) 言归正传 所谓的坑坑 坑一.vue中sessionStorage(windows中原生的session Storage) what? sesson对象跟java中httpSession对象是作用类似,在会话创建时开始存在,直到当前会话结束该session消除(注意此会话指的是浏览器的会话) how? 1 // 保存数据到sessionStorage 2 sessionStorage.se

onInterceptTouchEvent onTouchEvent 的坑 坑死了

简单来说,不想研究这个,坑死了. onInterceptTouchEvent 是从父级向子级传递. onTouchEvent 是从子级向父级传递. 它们两个相互不影响,onInterceptTouchEvent 先触发,onTouchEvent 后触发. onInterceptTouchEvent 是ViewGroup的事件. onTouchEvent 是View 的事件,如果一个View 不能再包含子View ,则它没有 onInterceptTouchEvent 事件. 事件触发顺序为 Mo

百度小程序坑坑坑

吐槽:被小程序坑死啊 问题:在循环中,根据条件加载不同的template模板出现问题. <block s-for="news, index in item.news_data"> <!--begin template is 中第一次比较,满足就会出现问题 --> <block s-if="item.type==1"> <template is="newsText" data="{{{...ite

初学git及用git将代码上传到新浪云的坑坑坑坑

一.坑之初始化(不初始化没法添加远程仓库) 1.你要是不进行初始化,git会报错:fatal: Not a git repository (or any of the parent directories): .git 如图: 2.要在代码文件夹的根目录下进行初始化------>$ git init 3.出现master时及成功或到文件夹的根目录下查看是否有隐藏的.git文件夹()如何查看隐藏的文件夹我就不多赘述了,大家都会) 此时初始化已完成! 二.上传代码(你可能会出现404错误)详情请访问

(寒假CF3)坑坑坑

题意 :求期望 题解 :找规律,列举几个,然后找到规律. 坑点:要简化,不简化数字一大就wa了 Sample InputInput6 1Output3.500000000000Input6 3Output4.958333333333Input2 2Output1.750000000000HintConsider the third test example. If you've made two tosses: You can get 1 in the first toss, and 2 in

继续坑坑坑(关于购买的证书 若不添加中级证书 安卓出现无法发起请求)

前言:  作为一个运维人员不背锅,谁背呢! 正文: 虽然也是使用小程序发现的,但是之前在app开发组也发现了这个问题,因为我们购买的是GlobalSign的证书,有一个中级证书的概论,之前直接把签名的证书 和私钥 放nginx  和阿里云的cdn  一直觉得没问题也就没管,但是安卓手机就不一样了~ 现象为手机无法请求数据(数据包都没有发起请求),使用浏览器直接访问接口 现象为 弹出证书不信任..这个问题是因为购买的证书 一定要在crt 后边追加中级证书 (值得注意的是 中级证书放下边 自己的放上

微信小程序的坑坑

no.1 背景图不显示 微信小程序里面是允许用户自定义背景图的,但是限定了背景图的路径及地址,之前一直用相对路径来写,微信开发者工具中也显示出了背景图,误以为没有问题,但是预览的时候发现手机中不显示背景图,这就是今天介绍的第一个坑,背景图不允许为本地图片. 解决方法: 第一.用在线图片转base64码的方法,这种方法的优点在于图片不存储在本地或者服务器上,占用空间小修改方便,缺点是小图片处理效果更好,大图代码相当的长,长的都不想看他... 第二.将图片上传至服务器,引用图片地址就可以了,方便快捷

Python中中文输出显示以及列表初始化坑坑

通过网查得出,使用json中的dumps方式可以解决问题.一般在需要输出得上一步使用,这样可以便于其他错误得产生 import json # result = json.dumps(b, encoding='UTF-8', ensure_ascii=False)# list1 = ["陈","湖北"]# result = json.dumps(list1, encoding='UTF-8', ensure_ascii=False)# print result 这里在

Consul坑坑一人行之从入门到放弃,记Consul的重复注册、节点失效后无健康检查等坑。。。求解

环境: dotnet core 2.1 CentOS 7 由于听到Eureka2.X最近好像要凉的消息 所以昨天在尝试使用Consul替代Eureka来实现服务发现等功能 Consul使用HttpAPI注册服务 但是!!!! 发现几个非常恶心的地方,在这里分享出来,希望可以得到园子里各位大牛的指导. 坑1:同一个ServiceID 可以在多个节点上重复注册! 情况是这样,我对Consul进行了好多折腾, 首先,为了避免本地Consul挂了导致服务无法注册, 所以我对Consul的HTTP端口(8

坑坑坑坑坑坑

死循环 # lst = [1, 2] # for i in lst: # lst.append(3) # print(lst) 删除列表元素会遇到的坑 # pop默认删除 lst = [1, 2, 3, 4] for i in lst: lst.pop() print(lst) # 解释: # pop默认从后往前删除,元素被删除后,会自动补位 # 走到一的时候删2,走到二的时候删3,所以会留下俩个 # remove 也是同样的原理 # 指定索引删除,从前往后删除 lst = [1, 2, 3,