为啥我的设置切断了我对边距的限制?
Posted
技术标签:
【中文标题】为啥我的设置切断了我对边距的限制?【英文标题】:Why Is My Set Up Cutting Off My Constraints To Margins?为什么我的设置切断了我对边距的限制? 【发布时间】:2021-09-29 08:54:26 【问题描述】:我正在使用连接到 UIViewController
的情节提要:
更新:
问题似乎是我的约束没有固定到边距。这是我固定在底部的约束。
以下是转换到不同设备的方式。
我弄乱了倒数第二张图片中显示的各种尺寸设置。如果有人不能很容易地检测到为什么会发生这种情况,我会尝试一种更系统的方法来改变这些。它似乎与页面控件无关,而与页面大小更相关
Project Github HERE
再次注意,这与我在使用以下方法创建视图控制器时遇到的问题完全相同: HERE 我选择使用的代码而不是链接上的代码,只是因为我已经编写了代码并且它们在问题上是相同的,我意识到这是一种更复杂的方式来实现这一点。 这个问题通过一个简单的底部约束完美地重现。
【问题讨论】:
但是教程代码不是bug所在的地方。是吗?摆脱所有可以摆脱的东西正是您隔离问题并解决问题的方式。 如果教程代码有同样的问题,请告诉我在哪里以及如何引出它。这是我之前问的。 好的,很抱歉造成混乱。这与我意识到的教程代码不同,所以我很高兴 convo 让我检查这个......现在的代码就是你要问的。感谢您的耐心等待... 【参考方案1】:你的代码/故事板有很多问题,但我认为你抱怨的问题在这里:
override func viewDidLayoutSubviews()
super.viewDidLayoutSubviews()
for view in self.view.subviews
if view is UIScrollView
view.frame = UIScreen.main.bounds // *
else if view is UIPageControl
view.backgroundColor = UIColor.clear
删除我已评论的行。
(如果您还将最后一行的颜色更改为.red
,作为实验,您将能够看到页面控件,并且您会看到文本视图在不同大小的设备。)
【讨论】:
好的哇,首先,非常感谢您,非常感谢您花时间打开它并发现问题。现在我想知道您认识到的许多其他问题是什么,您是否愿意制作您的版本以便我可以查看它? (如果不是我理解)。您对如何处理它的说明带有“这非常简单,只需执行此操作”的潜台词,但作为初学者,它并不那么明显,我感到受到为此制作的教程的限制,因为大多数教程都来自 swift 3 并以某种方式引起了类似的问题,我确实想学习最好的方法,这在你的书中吗? 我注意到的主要事情是:故事板中不应该有从页面视图控制器到任何东西的segue;并且,将视图控制器数组加载为页面视图控制器的子级是错误的——整个想法是当您被要求创建下一个/上一个视图控制器时。以上是关于为啥我的设置切断了我对边距的限制?的主要内容,如果未能解决你的问题,请参考以下文章