问题标签 [masonry-ios-osx]
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.
ios - UITableViewCell的-layoutSubviews的实现需要调用super
我在 UITableViewCell 添加一个视图,并使用 mas_makeConstraints (Masonry)
但它不起作用。
错误消息:由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“执行 -layoutSubviews 后仍需要自动布局。UITableViewCell 的-layoutSubviews 实现需要调用super。
请帮我 !@.@
ios - Masonry animationWithDuration 没有动画
我正在尝试从 viewController 顶部的底部为 UIWebView 设置动画,并且我正在使用砌体(https://github.com/Masonry/Masonry)。
我最初创建大小为 0 -(x、y、高度和宽度)的 webview,然后尝试对其进行动画处理,以便 webview 在视图控制器的“顶部”进行动画处理。显示了 web 视图,但它没有就地动画 - 它只是立即出现。有经验的人可以指导我正确的方向吗?
这是我的按钮动作
我的 viewDidLoad
ios - 如何将 Masonry (iOS) 导入我的项目?
我需要将哪个文件导入到我的项目中?如果我只是导入“Masonry”文件夹,它似乎不起作用。我需要导入其他库吗?
ios - 自动布局/砌体中心多个视图
我使用Masonry在代码中创建自动布局约束。
这是我到目前为止所拥有的:
使用以下代码:
现在我想将标签垂直居中,如下所示:
到目前为止,我的方法都失败了。知道如何通过自动布局/砌体实现这一目标吗?
- 编辑
建议使用像 chris838 这样的间隔视图是有效的。这是更新的代码:
ios - 使用 Masonry 向视图的子视图添加自动布局约束
我正在使用 Masonry iOS 库来简化围绕 iOS 自动布局的一些逻辑,并且到目前为止我很喜欢它。不过,就在最近,我正在开发一个更复杂的应用程序,并尝试将自动布局约束添加到与其父视图相关的子视图中。然而,这样做似乎会迫使父视图采用其子视图的约束。可能我只是没有完全理解自动布局继承的这一方面,但这里有一个简单的例子:
在这个例子中,尽管第二个 UIView (test2) 是 test 的子视图并且它的边缘设置为匹配 test,但当这个代码运行时,“test”视图被推到与屏幕齐平。奇怪的是,顶部和底部似乎尊重“测试”视图的边缘插图,并且它们准确定位自己,但是“视图”的右边缘现在位于 20 点插图处(因为左侧与左侧齐平)。
现在,如果我更改test2并使其成为self.view的子视图 而不是test的子视图,则约束突然可以正常工作。
这是当 test2 是 test 的子视图时发生的情况的直观图片:
这似乎意味着您只能将相关约束添加到同一父视图的子视图。我知道这不可能,但尽管尝试了各种不同的事情,但我似乎无法阻止更深层次的子观点影响他们的父母。
ios - 第一个单元格顶部的 tableHeaderView
我正在尝试以编程方式创建一个 tableview,它在 tableHeaderView 中有一个搜索栏。由于某种原因,搜索栏出现在第一个单元格的顶部。
我正在使用 Masonry 来构建约束。
有人可以指出我做错了什么。
您可以在此处看到标题与单元格处于同一级别。
ios - 与砌体的故事板
将砌体与故事板一起使用的好方法是什么?目前我在界面生成器中添加视图,设置由 XCode 生成的随机约束,然后我将它们从 IB 的运行时中删除,并使用 Masonry 将它们添加到代码中。
ios - iOS UITableViewCell 中的砌体非常慢
我正在为 iPhone 开发一个 iOS 应用程序,并且有一个 UITableView 和具有可变高度的自定义单元格。对于我使用Masonry的单元格布局:https ://github.com/Masonry/Masonry 。一切都按照我的喜好呈现,我唯一的问题是当一个新的单元格出现在屏幕上时会有一些延迟,这足以严重阻碍用户体验。我对执行时间进行了一些测试,似乎这种滞后的大部分都在函数内部:
在 iPhone 5 上执行时间约为十分之一秒。此外,我发现大部分时间都发生在函数中:
我的自定义 UITableViewCell 类。在这个函数中,我使用 Masonry 在单元格中设置各种视图约束。所以我基本上把这个滞后缩小到了砌体电话。如果您想知道,整个函数如下所示:
我想知道是否有任何方法可以减少执行时间并消除这种明显的滞后。我为每个单元格设置的约束与每个单元格的约束完全相同,但有一些例外。这只是 AutoLayout 的问题还是我正在做的事情非常错误?总的来说,这只是一个不好的方法吗?
ios - iOS 8.1.3 在 UILabel 的顶部和底部添加填充
我正在使用 Masonry pod 来控制我对 tableView 中 UI 元素的约束,并且我的视图扩展了 UITableViewCell。每个单元格有三个 UI 元素,显示热门邮轮港口的评级和评论。根据端口是否已评级,移除和更换其中一个元素。
大约在一周前之前,用于审查的 UILabel 显示时没有任何额外的填充,但现在它显示在 UILabel 的顶部和底部似乎有 2 行额外的填充。
以下是相关代码:
输出(背景为橙色以突出填充):
为什么自动布局会添加此填充,我该如何摆脱它?它也出现在应用程序的其他区域,所以我想了解它为什么会发生,以便我可以修复不需要的布局。
编辑:
每一行的高度计算tableView:heightForRowAtIndexPath
如下:
ios - 动态 UITableViewCell 产生不希望的结果
我正在尝试创建一个动态大小的表格视图单元格。我已经阅读了每一个 SO 问题、网站、文章和示例 Github 项目,并且无法获得我想要的没有错误的布局(以当前的形式,没有错误,但最终结果如上图所示) .
我有一个包含多个部分的表格。第一部分有一个动态调整大小的单元格。我的目标是正确无误地显示此单元格。以下是细胞可能具有的两种不同的视觉状态:
这是单元格的所需外观,底部有一条消息:
这是完全没有消息的单元格的理想外观:
对于下面显示的代码,结果如下:
这是 TableViewController:
这是单元格类:
我已经对此进行了两天的修改,在某些时候,它看起来符合预期,但出现了自动布局错误。我不知道我的错误在哪里,所以我的一般问题是:我的代码有什么问题,需要改变什么才能产生正确的结果?
非常感谢。