- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在 Xcode 中处理 Storyboard ,并向我正在处理的 View Controller 添加了标签。因为我试图让我所有的应用程序都使用自动布局,所以我的第一 react 是为 Label 添加自动布局约束。所以我在标签所在的 super View 的上边缘和左边缘添加了 2 个约束。我还在标签本身的宽度和高度上添加了约束,我知道我可以在之后修改约束的值以将它们设置为我希望他们成为什么样的人。我的 Storyboard 如下所示:
然后我意识到我忘记将 Label 的名称更改为更具描述性的名称。由于这是我的主视图的标题标签,我将标签重命名为“标题”,并将顶级 View 重命名为“MainView”。所以现在我的 Storyboard看起来像这样:
然后我意识到我的约束仍然引用“Label”和“View”,所以我去重命名它们。我突出显示了宽度的约束,按回车键并得到一个编辑文本字段,并将“标签”一词替换为“标题”,然后再次按回车键。编辑文本字段关闭,但约束名称变回“标签”而不是我键入的“标题”。我又试了一次,同样的结果。我尝试使用高度约束,结果相同。它不会让我更改约束的名称。所以我删除了Width约束,重新做了一个Width约束。现在它有了引用“标题”而不是“标签”的正确名称。但我不想在每次更改约束绑定(bind)到的 UI 元素的名称时都必须删除约束并重新创建它。
在更改约束绑定(bind)到的元素的名称后,是否有任何方法可以重命名约束?
最佳答案
由于最近这在几个应用程序中一直困扰着我,所以我进行了大量搜索,试图找到一种方法来做到这一点。我在文本编辑器中打开 Storyboard 文件来搜索文本,但它不存在。我查看了堆栈溢出,但找不到任何关于重命名 Storyboard约束的信息。然后我偶然发现了一个解决方案。这是我的解决方案。
单击要更改的约束(首先执行宽度,但这并不重要)。在“实用程序”右侧部分的第三个选项“身份检查器”下,“文档”部分中有一个“标签”文本框,其占位符文本为“Xcode 特定标签”。如果在约束上按 Enter,则可以突出显示现有名称并复制它。然后转到身份检查器中的标签文本框并将其粘贴到那里。您可以将“标签”一词更改为“标题”以适合新名称,然后按 Enter 键。您会在 Storyboard 层次结构中看到约束名称发生变化。
但是您还没有完全完成!假设您想将标题文本更改为您的特定标题名称:“我的特定标题”。那么,当您这样做时,标签将不会足够宽以显示所有文本,因此您将宽度限制更新为 140,现在您可以看到整个标题。但是当您希望它显示为“宽度 - (140) - 标题”时,您的约束仍然显示“宽度 - (42) - 标题”,因为您刚刚将宽度更新为 140。
事实证明,当您在 Identity Inspector 的“标签”字段中有任何文本时,它总是会说出该文本是什么。但是在您最初将名称更改为“Width - (42) - Title”以匹配您的标签名称并按回车键或单击另一个字段(任何可以让它接受文本更改的内容)之后,您可以删除Label 文本框的内容和您的约束仍将引用新名称,然后在您更改约束时自动更新。因此,如果您将宽度约束更改为 140,它现在将显示为“宽度 - (140) - 标题”。
所以在你改变了一个元素的名字之后,你也想改变约束的名字,只需将当前的约束名称复制并粘贴到那个标签文本框中,按回车键来获取它来进行更改,然后从标签文本框中删除它。
请注意,您无法更改约束名称的唯一原因是元素的名称已先更改。如果您更改约束中的文本,而它仍然与约束中引用的元素匹配,那么它会让您更改它,并且它会自动将新名称放入身份检查器中的标签文本框中。然后您可以更改元素的名称以匹配您在约束名称中输入的名称。但是因为您在该标签文本框中有文本,所以约束将始终显示该文本。因此,在元素名称与约束名称中的新文本相匹配后,我建议从标签文本框中删除文本,以便约束名称在您更改约束时自动更新。
关于ios - 在 Xcode 中,如何重命名 Storyboard 中的约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29290887/
我正在观看来自 iTunes U. 的视频讲座,其中讲师展示了如何使用 Xcode 的调试器部分并能够将该窗口从主窗口拉开。 不幸的是,视频显示了如何在 Xcode3 中执行此操作的说明。如何在 Xc
现在我正在开发一个使用 Markdown 的静态网站。我不想在 SublimeText 中编辑文件,而是想在 Xcode 中编辑它们。我可以在 Xcode 中打开各个文件,但我想打开整个静态站点目录并
现在我正在开发一个使用 Markdown 的静态网站。我不想在 SublimeText 中编辑文件,而是想在 Xcode 中编辑它们。我可以在 Xcode 中打开各个文件,但我想打开整个静态站点目录并
我真的厌倦了其他用户的项目错误,因为 XCode 的默认类引用类型是“相对于 XCode 文件夹”。我知道您可以将其更改为“相对于封闭组”,这就是我们的项目,但是任何时候有人创建一个新的类文件并且忘记
我对 Xcode 一无所知,除了它是来自 Apple 的开发人员界面,它实际上来自 OSX CD,它也用于创建 iPhone 应用程序。 我也知道它有一个 Applications 文件夹,里面装满了
更新 Xcode(从 7.2 到 7.2.1)后,XcodeServer 无法运行 Xcode Service。当我选择更新的 Xcode 时,提示消息:Enable Accessibility ac
我很难找到有关新 XCode 布局的信息。如何查看源文件的反汇编,而不仅仅是 C++ 代码? 最佳答案 在 Xcode 4.2(和 Xcode 5)中,您可以通过以下方式查看文件的汇编或反汇编: 显示
我在 XCode 中为我的项目添加了一个文件夹并将其命名为 Themes,它将用于存储我的 iPad 应用程序的主题。在那下面我有红色、蓝色等等。 它们出现在 XCode 中。但是当我查看物理文件夹时
作为我之前 How can I create a reference cycle using dispatchQueues? 的后续: 对于强引用(会造成泄漏,但不是循环引用),例如Timer、Dis
我有一台 macbook air,我去商店安装 Xcode 7.3 并点击更新 App 按钮,然后出现了一个加载图标,但等待 30 分钟后什么也没发生。我从商店成功安装了 simple recorde
我的项目现在有一个project.xcworkspace/xcshareddata目录。 Xcode在project.xcworkspace/xcshareddata目录中存储什么? 最佳答案 xcs
我不经常使用 XCode 进行开发,最近 MacPorts 告诉我我需要获得 3.1 才能使包工作。我去了苹果,他们为我提供了最新版本,结果只适用于 OSX 6。因为我有 OSX 5,它对我没有任何帮
有谁知道如何强制 Xcode 停止运行。我更新到 6.2 但现在它不能正常工作。我需要退出 Xcode 才能完成更新或卸载并重新安装。菜单中的相当 Xcode 不可用。无法将其拖到垃圾箱,因为它说它仍
我最近从我的项目中删除了一些旧的测试类并删除了文件。正如预期的那样,文件被移到垃圾箱并在 git 中显示为已删除。 不幸的是,测试类和它们定义的测试用例继续出现在测试导航器中。我已经尝试过常见的疑点,
Xcode 中的场景编辑器显示大小但不显示单位。它是以英寸为单位的尺寸还是以米为单位的尺寸? 例如,当我选择一个节点时,例如一个盒子,当我在节点检查器中检查它的属性并在“边界框”旁边的“变换”部分检查
只想知道 xcode 项目中事件可执行文件的目的是什么? 谢谢 索拉布 最佳答案 自己找到了..希望它会帮助某人。 您可以在其中运行和测试软件产品的可执行环境。可执行环境定义了应该用来运行产品的程序。
刚回到我的办公 table ,Xcode 一直在文件中突出显示/强调空白区域。如果我输入一些东西它就会消失,但如果我切换标签并回来,它们会重新出现。 更新:这不是由“显示隐形”选项引起的。那看起来不一
我首先注意到这一点 Cmd-/偶尔拒绝为注释取消注释的代码行工作。但是现在(刚刚使用 XCode 4.1,虽然这可能无关)它发生在 Cmd-B建立。 我无法弄清楚我正在做什么导致这种情况,或者是否有任
我不太了解Xcode 4的工作区的实用程序。它们的用途是什么,它们如何帮助Xcode进行开发? 最佳答案 例如。您有一个在两个应用程序中使用的库。您很可能为此库拥有一个自己的项目,对吗?现在,您可以自
我正在关注一个应用程序教程,它说: “接下来,在 Xcode 应用程序项目目录的根目录下创建一个空文件,并调用该文件 Podfile。使用您喜欢的文本编辑器打开它,然后在其中粘贴以下行:” 我很困惑这
我是一名优秀的程序员,十分优秀!