问题标签 [nslayoutconstraint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1283 浏览

objective-c - 带有子视图的 UIScrollView setContentSize 也使用约束布局

假设我有以下实现

  • UIPageViewController
  • UIScrollView称为mainScrollView添加subviewUIPageViewController.view

    [UIScrollView setTranslatesAutoresizingMaskIntoConstraints:NO];

  • UIScrollView使用子视图布局,NSLayoutConstraints并且每个子视图都已setTranslatesAutoresizingMaskIntoConstraints设置为 NO。

如何将内容大小设置UIScrollView为等于其子视图中最大的 MaxY 坐标?

这是我的代码示例:

0 投票
1 回答
1563 浏览

ios - UITextView 替代方案

正如我从 Apple 文档的 UITextView 的属性文本属性中了解到的那样:

此属性默认为 nil。为该属性分配一个新值也会用相同的字符串数据替换 text 属性的值,尽管没有任何格式信息。此外,分配新的 a 值会更新 font、textColor 和 textAlignment 属性中的值,以便它们反映从属性字符串中位置 0 开始的样式信息。

因此,我无法通过在不同位置具有多个属性的代码添加属性字符串。

有人可以帮我在iOS6中通过代码创建以下效果吗?这可以使用 nib 文件并通过更改 UITextView 中文本部分的范围属性来实现,但我似乎无法通过代码重现效果。

<'font systemFontOfSize=18>想要的</font>效果<'textColor = [UIColor redColor]>写成 b </textColor> y 代码

假设标签对应于属性。

PS 我不想使用 CATextLayers,因为我正在尝试将 AutoLayout 功能与 UITextView 一起使用。

0 投票
0 回答
165 浏览

iphone - ios:无法满足约束,来自 Storyboard

我得到“无法满足约束”,但我在情节提要中设置了所有约束。我认为这将确保没有冲突。什么可能导致此错误?

注意:我确实有一个包含另一个视图控制器的容器视图。这会导致问题吗?

0 投票
2 回答
7600 浏览

objective-c - 通过代码添加和设置 NSLayoutConstraint

我有一些麻烦NSLayoutConstraint

如果我尝试constant使用该setConstant:方法进行更改,NSLayoutConstraint 会给我一个例外。当我通过代码添加高度约束时,我只有这个问题。

首先,我得到这样的高度约束:

这给了我正确的约束。我有一个 NSTextField 子类,它可以完美地工作。约束在 Interface Builder 中设置,我可以设置和更改常量。

现在我有了一个视图,在其中我在运行时添加了不同的子视图。这些子视图位于自己的 NIB 中,这意味着我无法固定它们的宽度和高度。所以我想我会在视图被添加到超级视图后立即添加约束。这是正在执行的viewDidMoveToSuperview

添加了约束,我可以通过 NSLog 确认这一点。

现在,最后,当我尝试使用更改约束时,[constraint setConstant:somethingDifferent];出现以下异常:

这正是我想要改变的约束。谁能向我解释为什么会这样?


编辑

我刚刚读到NSAutoresizingMaskLayoutConstraints 是自动添加的,如果您设置[self setTranslatesAutoresizingMaskIntoConstraints:NO];.

如果我禁用它,它可以工作。

如果我可以访问创建的内容,那就更好NSAutoresizingMaskLayoutConstraint了。有谁知道这是如何工作的?

0 投票
1 回答
13105 浏览

ios - 添加未在 Xcode 的编辑器菜单中列出的约束

我正在尝试向我的 NIB 添加布局约束,并且我正在按照苹果在此处提供的说明进行操作:

http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/030-Edit_User_Interfaces/edit_user_interface.html

它是关于添加约束的:

添加约束 选择要为其添加约束的一个或多个对象。

从 Editor > Add Constraint 菜单中选择一个约束,或者从 Editor > Alignment 菜单中选择一个对齐类型。

找不到那个添加约束菜单。是什么赋予了?如何添加约束?

0 投票
1 回答
3244 浏览

iphone - iOS:addConstraints:崩溃的应用程序

问题

我似乎无法在我现有的项目中采用自动布局。

细节

我之前遇到了与这个问题一样的问题presentViewController: crash on iOS <6 (AutoLayout)但提供的答案都不是我的解决方案:我正在使用所有没有 xibs 的情节提要视图。我的“使用自动布局”设置已关闭,我只使用 iOS 6。

我的视图控制器最初崩溃了,所以我设置了要延迟添加的约束,现在我的应用程序在任何addConstraints:调用期间都会崩溃。最糟糕的是,它不会告诉我为什么。

代码

我将链接我的代码,但它非常简单。

应用程序在_peopleView调用 addConstraints 时崩溃。视图和 NSLayoutConstraints 都已成功创建。

有任何想法吗?谢谢你,节日快乐。

编辑:

添加崩溃日志以显示没有显示任何有用的信息:

0 投票
1 回答
4996 浏览

ios6 - iOS 6 自动布局约束错误:“Something is nil”

我正在尝试在 iOS 6 中使用约束并希望将标签与另一个对齐。一个标签和约束是在点击按钮时动态创建的。这是一个非常简单的例子,但我得到一个有线错误,我不知道是什么原因。

编码:

}

错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法在 descriptionForLayoutAttribute_layoutItem_coefficient 中创建描述。有些东西是零

当我应用约束时发生错误,而不是在我设置它时。我之前设置了一个断点

当我检查结果时,我得到这 4 的 nil 值

0 投票
2 回答
3200 浏览

objective-c - 自动布局:fittingSize 是如何工作的?

我创建了一个子类NSTextField,它根据它包含的文本改变它的高度。我现在想将它插入另一个视图(an NSTableCellView)并根据文本字段的高度调整视图大小。

我想使用的-(NSSize)fittingSize方法,NSView但不幸的是它似乎没有调用fittingSize它的子视图的方法,也没有调用它们的intrinsicContentSize方法。

这是我用于NSTableCellView子类的代码:

我在这里重写该fittingSize方法只是为了放置一个断点或一个NSLog.

这是提供表格单元格高度的表格视图委托的代码:

所有这些总是返回 69 的 dummyCell 高度,与单元格中扩展文本字段的大小无关。

问题是:“fittingSize”方法如何计算出其子视图的大小?它应该调用他们的“fittingSize”或“ntrinsicContentSize”方法还是别的什么?

0 投票
1 回答
1856 浏览

ios - 如何在 CAAnimationGroup 中为 NSLayoutConstraint 设置动画

例如,我在自动布局前时间将其添加到 CAAnimationGroup 中。

在自动布局下,我假设现在我需要更改对象上约束的常量属性。

那么请您帮助我了解如何准备约束的动画。

在 Best Practices Mastering Auto Layout 中编辑- 在大约 30m 处,他使用 NSAnimationContext 在 OSX 上执行此操作 - 他没有谈论 iOS。

0 投票
2 回答
186 浏览

ios - 使用约束使应用程序与 iO5 5 和 iOS 6 兼容

可能重复:
在 iOS 6 中启用自动布局,同时保持向后兼容 iOS 5

我的老板要我做一个与 iPhone 5/4/4S 和 iOS 6/5 兼容的应用程序

是否可以 ?

我可以使用 NSLayoutConstaint 吗?