为什么我的storyboard布置控件的位置和大小与模拟器显示不符

 我来答
am...f@163.com
2017-03-07 · TA获得超过227个赞
知道答主
回答量:441
采纳率:0%
帮助的人:160万
展开全部
在iOS开发中,使用Main.storyboard来设计界面是每一个iOS开发人员需要面对的问题,使用storyboard相比较Android中使用XML来设置布局,有优点也有缺陷,现在我们来谈谈storyboard的设计技巧。(1)直接使用鼠标右键可以直接缩放storyboard的缩放比例。当然你也可以用触摸板使用2根手指缩放。。(2)拖拽控件绑定到代码中,不一定要从设计界面的控件中进行拖拽,也可以直接从左侧的列表中拖拽,这样会更加清晰方便。。(3)如何添加修改超过一屏的控件。我们把控件拖拉到界面上,只能设置一屏的控件,如果我们使用了ScrollView控件,需要设计超过一个屏幕长度的布局,应该怎么?其实我们也可以直接拖拉控件到左侧的列表中,而没必要拖拉到界面上。然后可以修改一些位置数据,就可以完成更个滚动界面的设计。所以此时就算我们“看不到”控件,也可以设置控件的各个属性。(4)在代码中删除一行绑定代码,或者在storyboard中删除一个控件,最好提前先去右侧的ShowtheConnectionsInspector中删除有关这个控件的绑定,否则可能会出错误。造成空指针异常,错误类似“。。。nil。。。uncaught”..(5)控件的X,Y,坐标,指的都是相对坐标。相对的位置是父类容器的位置。如果一个ScrollView中有一个TextView,那么这个TextView的X,Y坐标的值是相对这个ScrollView来说的。并不是相对于整个界面。有点类似与Android中的相对布局。(6)如果你使用了底部的TabBar,也就是底部的导航栏,那么默认一行只能显示5个,超过5个的会在最后以More显示,多余的Tab会在点击More后显示。(7)如果一个类已经在代码中继承了Datasource,或者Delegate,某个控件想要实现这个数据源或者委托,不需要在代码中写***.delegate=self这样的代码,直接在storyboard中按住控件右键拖拽到界面的ViewController中,就会出现DataSource或者Delegate,选中就可以了,简单粗暴。(8)控件可以直接在storyboard左侧的列表中,按住option键和鼠标左键快速复制。这样就可以在界面中复制出2个一模一样的两个控件了,不必要再进行拖拉。(9)iOS的顶部状态栏的背景图片可以自定义设置,实现方法见《iOS项目开发实战——自定义设置导航栏和状态栏背景》。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式