草庐IT

AutoLayout

全部标签

ios - UITableView中的UITextView,使用AutoLayout平滑展开

我在每个UITableViewCell中都有一个可编辑的UITextView。UITextViews可以很好地调整预加载文本的大小(通过heightForRowAtIndexPath计算),但我不确定如何使用AutoLayout动态添加文本时。它似乎被切断了。使用AutoLayout,我如何平滑调整UITableViewCell和UITextView的大小以适应输入到UITextView? 最佳答案 接受的答案是已弃用的答案,在iOS8sdk中有一个干净的解决方案在viewDidLoad中,告诉tableView自动计算行高:tab

ios - 以编程方式使用 AutoLayout 将多行 UILabel 的第一行与 UIImage 对齐(Objective-C)

我正在尝试将多行UILabel与UIImage对齐。问题是:我想将此标签的第一行与图像水平对齐。我试过的:1-将图像与整个UILabel对齐,所以基本上我还是想把图像拿起来。[containerViewaddConstraints:[NSLayoutConstraintconstraintsWithVisualFormat:@"|[image(width)]-8-[multiLinesLabel]|"options:NSLayoutFormatAlignAllCenterYmetrics:metricsviews:views]];2-所以我尝试了这个,但是图像太高了。[containe

ios - 调整 UICollectionView 的大小以使其内容适合 AutoLayout View

我有一个UIView,用作UITableView的页脚。在这个UIView中是一个UIWebView和UICollectionView。它们的布局如下:H:|[webview]|H:|[collection]|V:|[webview]-8-[collection(10@1)]|这是通过IB完成的,但这表明存在限制。我想让webview的大小适合它的内容(我有那个工作),并且集合的大小也适合它的内容。我希望它们包含的整体UIView的大小适合所有这些而不需要滚动,因为它包含在处理它自己的滚动的tableview中。我似乎无法使集合本身的大小大于约束所具有的10个点。此外,约束系统要求某些

ios - AutoLayout:与比例元素间距的布局一致性与 3. 5"and 4"屏幕

我想使用AutoLayout来定位控件,它们之间的垂直间距成比例(避免在3.5"屏幕上裁剪,避免在4"屏幕上留出空白底部空间)。正如其他答案中所建议的,我可以使用具有“等高”约束的间隔View,并在必要时更改乘数。然而,最终的布局并不是像素完美的,因此引擎无法一致地定位它们。症状:当我在IB中执行“更新所有帧”时,它不会修复放错位置的View,而只是将它们替换为其他放错位置的View集。更重要的是,在运行时,每当我进入View时,我都能看到控件瞬间向上或向下跳动几个像素。如何每次都实现相同的一致布局? 最佳答案 为要垂直放置在屏幕上

ios - AutoLayout 限制 View 位于键盘正上方

有人会这么好心地告诉我你如何设置一个约束(使用大小类)让View在iP6和iP6+上正好位于键盘上方(没有预测部分),如下图所示?我可以有一个示例项目吗?谢谢 最佳答案 要么根据键盘尺寸以编程方式添加约束,要么为每个屏幕尺寸制作单独的界面文件,并根据该屏幕的已知键盘尺寸设置固定约束。 关于ios-AutoLayout限制View位于键盘正上方,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

iOS 在点击 AutoLayout 时展开 UITableViewCell

我正在开发简单的应用程序,现在我专注于在用户点击该单元格后扩展UITableViewCell。这是iOS8应用程序,所以我设置了:self.tableVIew.rowHeight=UITableViewAutomaticDimensionself.tableVIew.estimatedRowHeight=50单元格约束如下所示:如果用户点击单元格,则调用此函数:funcextend(){self.contentView.removeConstraint(self.bottomConstraint)letadditionalView=UIView()additionalView.setT

ios - 使用 Autolayout 将三个对象居中

我有一个包含三个标签的View。第一个标签放在最上面。第三个标签距底部50像素。我想做的是始终使用自动布局将第二个标签放在这两个标签的中心,但我不知道该怎么做。问题是第二个标签不在View的中心。我尝试将两个垂直间距约束设置为小于或等于初始值,但没有成功。是否可以仅使用自动布局来做到这一点?我考虑过添加另一个View,但这看起来不是一个好的解决方案..谢谢。 最佳答案 我不认为你可以用自动布局做到这一点;但是重写layoutSubviews(或viewDidLayoutSubviews如果您不使用UIView子类)使标签2位于标签1

iOS 9 键盘 : This application is modifying the autolayout engine from a background thread, 可能导致引擎损坏和奇怪的崩溃

当我从嵌入在webView中的TextView启动第三方键盘时,有时会导致应用程序崩溃。应用崩溃时可以找到一些证据:总是有如下警告,但当键盘显示成功时,也可能会显示警告。""Sep2516:44:09iPhone6-goldenXXX[2916]:此应用程序正在从后台线程修改自动布局引擎,这可能导致引擎损坏和奇怪的崩溃。这将在未来的版本中导致异常。""Stack:(0CoreFoundation0x00000001836f4f74+1481libobjc.A.dylib0x00000001982e7f80objc_exception_throw+562CoreFoundation0x0

iOS Autolayout - 在半透明导航栏下方正确定位 View

在我的Storyboard中,我有一个UIImageView,我想将其放置在半透明导航栏下方的固定距离处。我将ViewController的模拟顶栏设置为半透明栏,我现在的约束是“TopSpacetoSuperviewEquals52”,栏下方8点。然而,当View旋转到横向时,导航栏缩小到34点,ImageView仍然像纵向一样是52点。无论导航栏有多高,我可以在IB中使用什么约束将ImageView放置在导航栏下方8点处?谢谢! 最佳答案 选择您的UIImageView并按住control并拖动到TopLayoutGuide以创

ios - 使用 AutoLayout 的最佳实践是什么?

从iOS7开始,我一直在寻找标准的GUI设计模式。在我之前的两个应用程序中,我取消选中自动布局并使用自动调整大小。通常是这样的SIZEINSPECTOR中的主视图如下所示。目前我正在制作两个xibs,iPhone4iphone5并在iOS6/7Delta中使用UIViewAutoresizingFlexibleTopMargin和UIViewAutoresizingFlexibleLeftMargin以及-64。对于内部View/subview,我通常在iOS6/7Delta中保留UIViewAutoresizingFlexibleTopMargin和UIViewAutoresizin