Ios 在界面生成器中拖动和移动某些内容,而不更改父视图/超级视图
我在interace builder中有一些视图。我有一个背景视图,它占据了我的整个视图区域 在它上面我有一些不在背景视图中的按钮 我想把它们拖来拖去,重新定位它们;但当我这样做的时候,IB会在我放开它们的时候重新租下它们 也就是说,IB似乎只将本例中的拖放理解为一种重新分配操作;不是一个移动的动作 是否有一个热键,或者我可以做些什么,让IB只移动东西,而不改变父对象Ios 在界面生成器中拖动和移动某些内容,而不更改父视图/超级视图,ios,xcode,interface-builder,Ios,Xcode,Interface Builder,我在interace builder中有一些视图。我有一个背景视图,它占据了我的整个视图区域 在它上面我有一些不在背景视图中的按钮 我想把它们拖来拖去,重新定位它们;但当我这样做的时候,IB会在我放开它们的时候重新租下它们 也就是说,IB似乎只将本例中的拖放理解为一种重新分配操作;不是一个移动的动作 是否有一个热键,或者我可以做些什么,让IB只移动东西,而不改变父对象 这对我来说是使用IB最痛苦的部分。你可以按功能键并拖动对象:Fn+drag这也一直困扰着我。我找到了一个我觉得稍微不那么烦人的解
这对我来说是使用IB最痛苦的部分。你可以按功能键并拖动对象:Fn+drag这也一直困扰着我。我找到了一个我觉得稍微不那么烦人的解决办法。听起来很多,但其实很简单
- 选择要移动的项目
- 转到编辑器->嵌入->视图(这将为项目创建父视图)
- 调整父视图的大小(但不要移动)以包含要移动到的区域
- 在父视图中移动项目
- 选择父视图并转到编辑器->未嵌入
此外,由于调整大小不会导致父视图发生更改,因此实际上可以通过两次调整大小来移动视图。但是,重新获得正确的大小很麻烦,这就是我喜欢嵌入方法的原因。如果在拖动时按住command键,则拖动的元素不会更改SuperView。至少在Xcode 7.3中。让我确认这是您的问题您有一些组件在另一个组件上,所以您需要将它们放在右上角?没有任何地方。如果这是真实的生活,我想有自由把东西拖来拖去,而不让它们被修理。只是试了10次。不起作用:(这并不理想;但考虑到限制,这是一个聪明的解决方案。谢谢。这是最新版本XCode的最佳答案。简单易行。谢谢,这里的关键点是“拖动时”以前没有。这让我在IB中烦恼了好几年。感觉有点像挖坟墓,但我一直在使用这种“技巧”,因为我在这里找到了它。不幸的是,在xcode 12(不确定以前的版本)中,拖动时按住Cmd会禁用任何引导和捕捉。有人知道解决方法吗?