草庐IT

AutoLayout

全部标签

ios - 基于 AutoLayout 的应用程序中的 NSAutoresizingMaskLayoutConstraint 错误

由于与AutoLayout相关的问题太多,我不能完全确定我在问一个新问题,但我就是无法让它工作。我正在尝试使用AutoLayout为View设置动画,但我已经无法仅翻译它了。在使用Storyboard之前,我曾与AL合作过,这是我第一次尝试以编程方式使用它们。所以,对于这个问题:从一个新创建的主从iOS应用程序开始,我从Storyboard中删除了所有内容,插入了一个新的ViewController并将其View的类设置为BaseView。基础View代码如下:classBaseView:UIView{@IBOutletvarsecondaryView:UIView!=niloverr

ios - Autolayout - 2 个具有动态长度的标签

我有一个关于Autolayout的问题-通常我在使用autolayout时没有任何问题,如果单元格标签具有动态长度-但在这种情况下我有2个标签,1个顶部标签具有动态长度,第二个标签在下方第一个标签。我将尝试为顶部标签设置一个前导、尾随和固定宽度(它是一个ipad横向应用程序,所以我想拥有并与之精确匹配)-并为第二个标签设置一个底部、尾随并设置前导到第一个标签。喜欢这里:但我无法将其用于:两个标签都应该有一个动态长度-所以自动更新单元格高度。两个Label的宽度均为700px,顶部、右侧和底部的边距宽度为8。我忘了说了,但是左边的标签也应该有一个动态高度。有什么想法吗?提前致谢!使用“L

ios - 已应用 AutoLayout 约束但不起作用

我是iOS编程的新手,似乎很难处理约束。我在View中添加了一个textfield并尝试将其定位在我放置在View中的位置。我使用Storyboard右下角的“添加新约束”按钮添加了一些约束,但是当我在模拟器上运行它时textfield位置仍然关闭。有人能帮助我吗?更新:我尝试添加这些约束,但仍然没有成功 最佳答案 因此,出于某些奇怪的原因,在我将“View为:”选项从iPad更改为iPhone后,它开始工作。这不是一个合适的解决方案,但我只是暂时使用它。 关于ios-已应用AutoLa

ios - 添加 View 、删除 View 和再次添加 View 会破坏 AutoLayout 约束

我有一个非常简单的CustomContainerViewController在两个View之间交换。添加内容View(带有.xib的UIViewController,其中包含一个带有AutoLayout约束的按钮)时,它的布局很好,没有约束冲突。按下按钮将该View交换为另一个View(同一类型View的另一个实例),该View的布局也很好,没有冲突的约束。当我再次交换View以重新插入第一个View(已存储并且与之前删除的View相同)时,iOS“无法同时满足约束”。每次在第二次交换之后,iOS都会抛出相同的不满足约束的警告。显示ViewController的代码:funcdispl

ios - 当 translatesAutoresizingMaskIntoConstraints 设置为 false 时,AutoLayout 行为异常

我的自动布局约束设置如下:包括这一行:self.view.setTranslatesAutoresizingMaskIntoConstraints(false)结果如下所示:注释掉该行后,它看起来像这样,这几乎是我根据我添加的约束所期望的。因为它只适用于添加的调整大小掩码约束,我只能假设我遗漏了一些重要的约束,但似乎我已经涵盖了所有内容?可能缺少什么? 最佳答案 将translatesAutoresizingMaskIntoConstraints设置为false仅与View相对于其父View调整大小的方式有关,因为这是所有自动调整大

ios - 是否必须使用autolayout才能使用stackview

是否有必要强制使用自动布局来仅使用堆栈View假设我在没有自动布局的情况下完成了整个项目,现在对于特定的屏幕,我必须使用Stackview来平均划分View内的标签数量。有什么解决办法吗..问题实际上,我必须自定义我的一个没有自动布局的旧项目,现在我只需要修改一个屏幕,它不需要任何约束,只需要像uitablecell这样的stackview,每个单元格中有8个标签,平均分配。Iknowwecandoitbyjustcalculatingframeruntimebutisthereisanyotherwaytodoit. 最佳答案 是

ios - Autolayout - 根据屏幕大小动态更改 subview 大小

我的自动布局间距设计正确,但现在我试图找出一种方法来根据屏幕尺寸动态更改图标和字体的View尺寸(见下图),但没有一个我在自动布局中玩过的设置似乎会拉伸(stretch)图像。这是我必须完全以编程方式做的事情吗?如您所见,iPhone6版本的空间太多,所以我需要一种方法来填充它。 最佳答案 这里有几个选项。1)您可以通过编程方式完成,但很多人搞砸了数学,代码也不是很干净。执行此操作的最佳方法(在我看来)是对要更改的内容设置布局约束并将它们与IBOutletsHook(您可以像HookUI元素一样Hook约束)。从那里,您可以将myC

ios - AutoLayout 上的静态间距

我目前正在设置一个最终应该看起来像这样的登录屏幕:我已经成功完成了在所有屏幕尺寸上创建所需外观所需的所有约束,但是,我似乎无法弄清楚正确对齐“没有帐户?注册”所需的约束。我把它设计成“没有帐户?”是一个UILabel,“Signup”是一个UIButton。我只是将它们并排对齐。UILabel“没有帐户?”具有以下限制:UIButton“注册”具有以下限制:这些约束似乎可以在4英寸及以下的屏幕尺寸上完成它们所需的功能。但是4.7英寸和5.5英寸(iPad除外)在UILabel和UIButton之间有很大的间距。我已经阅读了RayWenderlich的教程自动布局,但仍然无法找出问题所在

ios - 当键盘出现时滚动到 UIScrollView 的最底部(AutoLayout)

我试图在显示键盘时滚动到UIScrollView的底部内容,但setContentOffset方法似乎不起作用。我在InterfaceBuilder上使用AutoLayout。也许这是导致问题的原因?有什么想法吗?当我的键盘显示时,我如何滚动到我的UIScrollView的底部。P.S.:它会很好地显示textField,我需要的是在显示键盘时显示UIScrollView的最底部谢谢!!下面是我当前的代码functextFieldDidBeginEditing(textField:UITextField){varbottomOffset:CGPoint=CGPoint(x:0,y:ma

ios - 使用 AutoLayout 设置 AVPlayer/AVPlayerLayer 大小?

我正在尝试使用AutoLayout设置我在View中显示的视频的大小/帧。但我无法弄清楚如何正确地做到这一点。这是我的观点的代码:importUIKitimportAVKitclassVideoMeetingView:UIView{lazyvarplayerLayer:AVPlayerLayer={letlayer=AVPlayerLayer()returnlayer}()privatelazyvarvideoView:UIView={letview=UIView()view.translatesAutoresizingMaskIntoConstraints=falseview.bac