Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在界面生成器中拖动和移动某些内容,而不更改父视图/超级视图_Ios_Xcode_Interface Builder - Fatal编程技术网

Ios 在界面生成器中拖动和移动某些内容,而不更改父视图/超级视图

Ios 在界面生成器中拖动和移动某些内容,而不更改父视图/超级视图,ios,xcode,interface-builder,Ios,Xcode,Interface Builder,我在interace builder中有一些视图。我有一个背景视图,它占据了我的整个视图区域 在它上面我有一些不在背景视图中的按钮 我想把它们拖来拖去,重新定位它们;但当我这样做的时候,IB会在我放开它们的时候重新租下它们 也就是说,IB似乎只将本例中的拖放理解为一种重新分配操作;不是一个移动的动作 是否有一个热键,或者我可以做些什么,让IB只移动东西,而不改变父对象 这对我来说是使用IB最痛苦的部分。你可以按功能键并拖动对象:Fn+drag这也一直困扰着我。我找到了一个我觉得稍微不那么烦人的解

我在interace builder中有一些视图。我有一个背景视图,它占据了我的整个视图区域 在它上面我有一些不在背景视图中的按钮

我想把它们拖来拖去,重新定位它们;但当我这样做的时候,IB会在我放开它们的时候重新租下它们

也就是说,IB似乎只将本例中的拖放理解为一种重新分配操作;不是一个移动的动作

是否有一个热键,或者我可以做些什么,让IB只移动东西,而不改变父对象


这对我来说是使用IB最痛苦的部分。

你可以按功能键并拖动对象:Fn+drag

这也一直困扰着我。我找到了一个我觉得稍微不那么烦人的解决办法。听起来很多,但其实很简单

  • 选择要移动的项目
  • 转到编辑器->嵌入->视图(这将为项目创建父视图)
  • 调整父视图的大小(但不要移动)以包含要移动到的区域
  • 在父视图中移动项目
  • 选择父视图并转到编辑器->未嵌入

此外,由于调整大小不会导致父视图发生更改,因此实际上可以通过两次调整大小来移动视图。但是,重新获得正确的大小很麻烦,这就是我喜欢嵌入方法的原因。

如果在拖动时按住command键,则拖动的元素不会更改SuperView。至少在Xcode 7.3中。

让我确认这是您的问题您有一些组件在另一个组件上,所以您需要将它们放在右上角?没有任何地方。如果这是真实的生活,我想有自由把东西拖来拖去,而不让它们被修理。只是试了10次。不起作用:(这并不理想;但考虑到限制,这是一个聪明的解决方案。谢谢。这是最新版本XCode的最佳答案。简单易行。谢谢,这里的关键点是“拖动时”以前没有。这让我在IB中烦恼了好几年。感觉有点像挖坟墓,但我一直在使用这种“技巧”,因为我在这里找到了它。不幸的是,在xcode 12(不确定以前的版本)中,拖动时按住Cmd会禁用任何引导和捕捉。有人知道解决方法吗?