问题标签 [layoutsubviews]
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 - 当 iPhone 一次倒置时,layoutsubviews 没有被调用
我正在使用相机(AVCapture 输入/输出)制作一个功能。现在我遇到了如下问题。
当 iPhone 一次倒置(180 度)时,不会调用“layoutSubviews”。
(如果分两步旋转 90 度和 90 度,则每次旋转都会调用“layoutSubviews”)
我正在使用 AVCaptureVideoPreviewLayer 来显示相机输出。
为了旋转预览层,我编写了如下代码。
如果您知道的话,能否告诉我一个在 180 度旋转中一次调用“layoutSubviews”的好方法。
ios - 执行 -layoutSubviews 后仍需要自动布局。UICollectionView的-layoutSubviews的实现需要调用super
我使用UICollectionView
默认值UICollectionViewFlowLayout
。它适用于 iOS 8,但在 iOS 7.1 上我得到
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“执行 -layoutSubviews 后仍需要自动布局。UICollectionView的-layoutSubviews的实现需要调用super
我发现使用 UITableViewCell 子类执行“-layoutSubviews 后仍需要自动布局”,但没有一个解决方案有效
另一个线索是我在 UICollectionView 中添加了一些视图,并为该视图设置了 AutoLayout
这就是我的自定义 UICollectionView
ios - UIDynamicAnimator with layoutSubviews laggy
我尝试实现侧边栏菜单。我已经用标准UIView
动画完成了它,但现在我想给它添加一些感觉。我决定使用UIViewDynamics
. 我注意到,在主视图框架更改后,有必要重新创建UIViewAnimator
和所有行为。
我通常使用layoutSubviews
视图的方法。但在那种情况下,我的控制器继承了UINavigationController
它,我无法覆盖它的视图,所以我使用了控制器生命周期方法。
为避免意外结果,首先我删除方法中的所有动画师行为viewWillLayoutSubviews
。之后,最后viewDidLayoutSubviews
我创建了一个动画师和行为(重力、项目、推动、碰撞)。
效果很好,但是当layoutSubviews
触发时,它会有些滞后(看起来像低 fps)。
一些代码:
希望您能提供帮助,并随时提出任何相关问题。谢谢。
应用程序在屏幕旋转时消耗 9-12 % cpu。
PS:我已经尝试将动画师和行为创建移动到单独的线程中,但是:
- 在后台线程中使用视图 - 坏主意
- 它只是没有帮助
ios - @IBDesignable 中的 var 值能否依赖于外部值,例如视图的框架?
我想在@IBDesignable 视图中绘制一个形状孔。为此,我需要视图的大小,它位于视图层次结构的上方。这个视图通过约束改变它的大小。
如何检索框架?可能这根本不可能,因为我们所依赖的视图是稍后绘制的?但它的帧大小可能会提前恢复?
形状在 layoutSubviews 中绘制:
objective-c - 为 UITableView 调整自定义单元格中的属性大小
我有UITableView
一个自定义单元格及其相应的.xib。我的 CustomCell.h 有 3 个属性。我希望能够在不使用自动布局的情况下以编程方式指定这些属性的宽度。这三个属性是背景图像、标题视图和标题视图中的标题。我想将所有三个属性的 with 设置为与 cell.contentView 宽度相同。
我已经放置[cell setNeedsLayout]
在我的cellForRowAtIndexPath
但唯一更新的属性是CustomCellOne 中的ImageView
and titleView
。标签的 with 不会更新。除了它不更新标签宽度之外,我对这个“解决方案”的一个问题是,当显示单元格时,我可以看到背景图像宽度正在更新。背景图像从 320 宽度开始并扩展到 375 宽度。我希望在layoutSubviews
显示单元格之前执行。
我也尝试过放置[cell setNeedsLayout]
在里面willDisplayCell
,但它会产生与上述相同的行为。
我也尝试过CustomCellOne.m[self setNeedsLayout]
中的awakeFromNib
方法,但这也会产生与上述相同的结果。
此自定义单元格需要能够考虑不同 iPhone 尺寸的尺寸,并且 [ImageManager] 返回特定设备的适当背景图像。
如果我选择单元格,那么layoutSubviews
它将按照我想要的方式更新。有没有办法以编程方式触发单元格的选择?这不是更好的解决方案,因为它是一种 hack,我相信有更好的方法,正确的方法来做我想做的事。
我将永远欠任何可以帮助我解决这个问题的人。我的代码如下。
我的自定义单元格 .h 文件
我的自定义单元 .m 文件
ios - 如何获得真正的自定义单元格的宽度?
我在情节提要中有一个自定义单元格。viewController
我已经为包含它的故事板设置了 iPhone 4.7 英寸tableView
。
因为我想在这个单元格内布置一些UIImageViews
,scrollView
所以我需要知道单元格的宽度。我试图在 中获得这个宽度layoutSubviews
,如下所示:
它被多次调用,当我在 iPhone 5 上运行它时,前两次是不正确的(它是 375,这是它在情节提要上的样子,然后是 320,这是正确的大小)
无论如何,我如何获得单元格的实际宽度?
提前致谢。
swift2 - 为什么 layoutSubviews 调用了两次?
我有一个 UIView 子类并覆盖 layoutSubviews 方法。当我在 viewController 中调用这个子类并将其添加到控制器的视图中时,我发现“layoutSubviews”函数已被调用了两次。
CoverFlowView 是视图子类 UIView