调整视图大小时,ViewController 放错了位置

Posted

技术标签:

【中文标题】调整视图大小时,ViewController 放错了位置【英文标题】:ViewController gets misplaced, when a view size is adjusted 【发布时间】:2013-10-19 01:46:28 【问题描述】:

我对 Xcode 编程很陌生。我在我的程序中添加了一些视图控制器、标签、按钮和图像视图,但是,当我尝试调整标签的大小时,该标签所在的视图控制器会移位。我的意思是,当我尝试拖动标签的一侧以更改其大小时,视图控制器向下移动,使我的标签在视图控制器中移位。这是一个非常奇怪的情况,here 你有我项目的截图,放错位置的视图控制器是导航栏上显示“Perfil”的那个。每次我尝试更改其中一个浅蓝色视图大小时,整个视图控制器都会更改位置。我越是尝试改变一侧,它就越会下降。 对不起,我的英语不是我的母语。

【问题讨论】:

【参考方案1】:

我认为更大的问题是您正在使用不属于表格视图的表格视图单元格。

Table ViewCells 应该是 UITableView 的一部分,而不是仅仅停留在视图中。

以这种方式使用 UITableViewCells 是导致奇怪行为的原因。

如果您想制作表格,请将 UITableView 放入您的视图中,然后您可以在其中自定义表格视图单元格。

如果您不想制作表格,只需使用 UIView 代替那些 UITableViewCells。

【讨论】:

【参考方案2】:

我有两个想法可以解决这个问题:

首先,如果您尝试拖放标签但视图控制器却移动了,那么您可能只是错误地抓住了视图控制器的背景。当我遇到这种情况时,是因为我的 xib 文件中的组件顺序错误。事物是从后到前排列的,当您单击并拖动某些内容时,您只需单击并拖动顶部的任何内容。您可以尝试通过单击左侧的 UI 元素以确保选择它,然后拖动手柄来解决此问题。

看起来你的事情顺序合理,所以这可能根本不是罪魁祸首。

其次,如果这不起作用,请在左侧选择要编辑的元素,然后打开右侧的实用程序窗格。单击“属性”图标(应该是左数第四个)并朝底部看。您应该会看到如下内容:

只需在此处手动编辑标签的位置和大小。您应该会立即在显示屏上看到更改。

希望这会有所帮助!

【讨论】:

【参考方案3】:

在 Interface Builder 中设置不自动调整大小行为可以解决问题。

【讨论】:

以上是关于调整视图大小时,ViewController 放错了位置的主要内容,如果未能解决你的问题,请参考以下文章

自定义 Viewcontroller 转换无法正确调整大小

子 ViewController 调整 containerView 的大小

如何调整视图大小以使其子视图也调整大小

如何在界面生成器的导航控制器中调整子视图的大小

调整视图大小以考虑工具栏

使用故事板时需要以编程方式调整子视图的大小?