问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

interface builder怎么使用第三方控件

发布网友 发布时间:2022-04-14 21:28

我来回答

2个回答

懂视网 时间:2022-04-15 01:49

本文译自:8 Tips for working effectively with Interface Builder(需翻墙) 先来看看目录: 介绍 使view的Size与view中的Content相适应 按住option键—观察所选中view与另外view边缘之间的距离 Editor – Embed In View, Unembed: 在不影响subview的位置时

本文译自:8 Tips for working effectively with Interface Builder(需翻墙)

先来看看目录:

  1. 介绍
  2. 使view的Size与view中的Content相适应
  3. 按住option键—观察所选中view与另外view边缘之间的距离
  4. Editor –> Embed In View, Unembed:
  5. 在不影响subview的位置时给view自由的添加padding
  6. 对不在最前端的view进行移动
  7. IBOutletCollection排序
  8. 使用自定义属性
  9. MoarFonts——字体定制:所见即所得

介绍

在JoyTunes工作期间,我们在开发最新一版的钢琴应用程序,对程序的UI做了大量的重新设计,因而也在Interface Builder上花费了许多时间,对于图片和view的缩放操作,非常的让人不省心。不过在开发过程中,我们发现了许多非常不错的IB使用技巧,我寻思着这必须要跟大家分享,所以成就了这篇文章。

免责声明: 在JoyTune工作期间,我们使用的是.xib文件(不是storyboards),并且没有使用Auto Layout。实际上这主要是历史原因导致的。所以,这里介绍的一些技巧可能稍微有点不同(如果你使用storyboard或Auto Layout),不过大多数都是一样的。

1. 使view的Size与view中的Content相适应

很惭愧的是最近才发现这个功能——能节约大量时间。 选中任意的一个view,然后Editor->Size to Fit Content,或者简单的按 ?= 接着就会按照下面的规则对选中view的Size做出与之Content对应的适应。

  • ImageView/Button的size会设置为图像的原始size(最常见的用法):
  • Label/Button的size会被设置为与当前text内容相当的尺寸:
  • parent container view会与其subviews的frames相适应。
  • 2. 按住option键—观察所选中view与另外view边缘之间的距离

    按住option键之后,选择一个view,然后将鼠标悬停在别的一些view上,会看到一些距离——选中view与别的view边缘之间的距离。

    3. Editor –> Embed In View, Unembed:

    你是不是对此素手无策呢:你希望将已有的一些subviews放入到不同的parent view中,甚至是不同的.xib文件中,但是当你把一些view重新设置之后,它们为自动的位于新的parent view中心?

    现在好了,我们有一个解决办法,如下图所示:

    4. 在不影响subview的位置时给view自由的添加padding

    当试图给view添加padding时,默认情况下subview的x和y是不会改变的,但是有时候我们并不希望是这样的结果。我发现一个最好的方法,就是在按住?时拖动view的边缘:

    5. 对不在最前端的view进行移动

    刚开始我还以为要想移动不在最前端的view是不可行的。

    有一种方法就是先将非最前端的view临时设置到最前端,移动好位置之后,在设置回去。

    另外一种方法就是使用右边panel中的size inspector,不过有时候要想设置一个好的位置,需要不断的猜测和修正。

    另外我发现一种方法:使用键盘上的上下左右键来移动view——这还不用把view设置为最前端:

  • 在document outline中选中view
  • 为了获得view的焦点:单击root view的frame
  • 利用箭头进行移动
  • 提醒: 获得view的焦点还有一个更好的方法:在document outline上双击view,就可以用箭头移动view了。

    6. IBOutletCollection排序

    有时候IBOutletCollection里面元素的顺序对我们来说非常重要:我们希望按某个顺序对其进行迭代。

    有一种方法:在代码里面利用x/y/tag对其做排序处理,然后在迭代。

    实际上,没必要这么做。IBOutletCollection的顺序取决于我们dragged connection的顺序,可以通过^+单击 File’s Owner来查看当前的顺序:

    7. 使用自定义属性

    可能这个功能是IB中很少被使用的:使用Identity inspector中的User Defined Runtime Attributes(用户自定义运行时属性)在view上设置自定义属性:

    在此我定义了一个JTLabel类,我们可以设置它的stroke color和width,这样一来我们就不用在代码里面设置相关属性了。

    利用这个功能很好的一例子就是Canvas,通过它不用写一行代码就能定义相关的动画。

    8. MoarFonts——字体定制:所见即所得

    在Interface Builder中字体的定制是个非常麻烦的事情。IB并没有内置该功能,我用过比较好的解决办法就是使用自定义属性——就像Canvas一样,或者使用字体替换技术——例如IBCustomFonts。这些都是有效的方案,不过他们有一个致命的缺点——它们不能给我们一种WYSIWYG(所见即所得)的体验,当然,这也是为什么我们会第一时间使用Interface Builder的原因。

    为了知道给label设置的自定义字体是否合适,我们必须要运行程序才能知道结果——这有点让人不能接受。

    最近我发现了一个新的解决办法:使用MoarFonts。卖价10美元,没有demo,没有试用——不过请相信,这非常值得购买!它的使用方法非常简单:将MoarFonts当做script build phase,然后build app,接着重启Xcode,就可在Interface Builder中看到定制的字体。

    打完收工!希望这些技巧对你能有所帮助。

    热心网友 时间:2022-04-14 22:57

    很简单,打开你的XCODE,鼠标选中左边的main.storyboard。然后右边就是interface builder 了,就是可视化界面,你直接拖控件就OK了。 满意请采纳。谢谢
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    《火星异种》揭示了怎样的人性丑恶。? 日本哪些漫画动作(战斗类)设计较好,较为细致?并请稍微分析 新的一学年马上开学了,想送老师一件开学礼物,实用性强的。 开学送老师什么礼物? 未办理不动产的 没办登记的抵押合同怎么办 欠债人失联后的处理办法 早上肚子胀是什么原因 梦见姐姐去外地工作 电脑中所存的文件都在哪儿 海尔空调把温度调到28度一个小时后会停止制冷3分钟左右又开始制冷,这样反复是什么原因会影响到空调 变频空调达到了设定的28度还继续制冷,室内温度计测出为26度..这正常么? 空调开28度开始还制冷的,可是过了会停止制冷怎么回事?谢谢!! 重庆姐弟被生父扔下坠亡案将再开庭,如何从心理学看待此事? 怎样让信息技术融入小学英语课堂教学 重庆两幼童坠亡一案择期宣判,凶手被判死刑的几率有多大? 重庆姐弟坠亡案宣判,两被告聊天记录被曝,他们为何容不下两个孩子? 小学生信息技术的说课PPT搭配的课件PPT,请问哪里有下载,或者谁又 请问这是什么烟?好抽么? 重庆姐弟被生父从楼上扔下坠亡案即将宣判,庭审现场哪些细节值得关注? 小学四年级下册信息技术教案ppt 重庆姐弟被生父从楼上扔下坠亡案将再开庭,此案结果会如何? 老炮里面的烟作用 重庆为了情人而将一双儿女从15楼扔下的男子被判死刑,对此你怎么看? 华为浏览器工具箱里添加收藏在文件管理里哪个具体位置?哪个英文句? 小米2s微信听筒模式无效 小米2s听微信的语音时听筒和扬声器都正常,但是打电话接电话两个都没声音,为什么?? 使用系统之家下载的iso格式文件的win7系统改为xp怎么弄 文件的类型怎么改?? 小米2S 32G版本,现在微信经常会出现语音没有声音,不管是听筒模式还是扬声器模式。怎么解决 着急 速回复 《云顶之弈》9三国猛将阵容是什么? 当前云顶之弈最强阵容有哪几个? 五一节的由来,还有五一节的古诗,五一节的名言 有关五一的资料,只要和五一沾得上边的、例如(由来、诗歌、脑筋急转弯……) 自己制作的幻灯片怎样设置为桌面要是动态的哦? 怎样把手机照片制作成幻灯片样式的当作手机动态壁纸 怎么制作动态壁纸,求啊 如何制作幻灯片似得手机壁纸 我的是xp系统,我怎样才能够让桌面有动态的壁纸?不要主题! 白胡椒鸡蛋治什么 联想s720能不能把照片制作成幻灯片然后应用成动态壁纸 安卓软件里什么桌面上有幻灯片,可以自己设置的那种? 最近从海南兴隆植物园购买的白胡椒(还有胡椒粉)有很浓的*味是怎么回事,胡椒还能吃吗? iPhone开发中Interface Builder是用来做什么的? 全国各省名称? wifi钓鱼抓包qq密码 怎么用抓包软件看qq密码 请问抓包可以获取QQ密码吗 怎样知道别人QQ密码? 抓包可以截获QQ密码吗?