草庐IT

LayoutSubviews

全部标签

ios - 如何从代码中关闭 View 的自动布局?

我没有使用自动布局,因为我需要支持iOS5。我现在在推送Controller时收到NSInternalInconsistencyException:Terminatingappduetouncaughtexception'NSInternalInconsistencyException',reason:'AutoLayoutstillrequiredafterexecuting-layoutSubviews.SGBExampleView'simplementationof-layoutSubviewsneedstocallsuper.'我的layoutSubviews实现确实调用了[s

ios - LayoutSubviews 问题

对于Xcode6和iOS8,我的应用程序出现了奇怪的问题。问题出在我用xib文件制作的自定义UITableViewCell中。在iOS8模拟器上,layoutSubviews方法被无限次调用。就像它在“while(1)”中一样,或者一次又一次地调用自己。这是布局subview方法:-(void)layoutSubviews{[superlayoutSubviews];UIEdgeInsetsinsets=UIEdgeInsetsMake(1,1,1,1);self.contentView.frame=UIEdgeInsetsInsetRect(UIEdgeInsetsInsetRect

iphone - 未调用 UIView layoutSubviews

使用Xcode4.2/iOS5.0我有一个viewController和一个关联的viewController.xib。viewController被设置为.xib文件的所有者。它是从UINavigationController调用的。当设备纵向/横向旋转时,我正在尝试一些手动布局据我了解,要覆盖的UIView方法是-(void)layoutSubviews;这是你做布局的地方但是-与drawRect一样-你不能直接调用它,它会在适当的时候由iOS调用相反,您调用setNeedsLayout...所以我在ViewController中有这个-(void)didRotateFromInt

cell.layoutifneed and cell.layoutsubviews和cell.setneedsdisplay方法一般可以做什么?

有什么cell.layoutIfNeeded()和cell.layoutSubviews()和cell.setNeedsDisplay()方法一般吗?看答案layoutsubviews列出子视图。简而言之,此方法可以确定任何子视图的大小和位置,如果您有子类,它也有助于获得所需的行为。文档在这里2.layoutifneed力量视图立即布局,例如,您已更改了约束常数,并反映了您需要调用Layoutifneed的更改。(也可以是动画:P)。文档在这里setneedsdisplay标记视图在下一个绘图周期中需要重新绘制,当您调用此方法时,系统会通知系统的内容已更改,并且将在下一个绘图周期中重新绘制。文

ios - 检测 UIView 中的 iOS 8 方向变化

我在iOS8中使用TraitCollectionDidChange检测常规和紧凑尺寸类。我试图在屏幕上水平放置一组特定的数据,它不适合纵向iPadMini上的水平类常规,但在横向中会有足够的空间。问题是Horizo​​ntalSizeClass在Portrait和Landscape中是Regular,所以TraitCollectionDidChange不会触发,我也不会被告知方向改变。我听说过对viewWillTransitionToSize的引用,但这在UIView中不可用。Apple是否表示他们不希望UI布局与Horizo​​ntalClassRegular-Portrait和Ho

iphone - 什么时候调用 layoutSubviews 方法?

我正在浏览atutorial提到了以下方法:-(void)layoutSubviews位于CustomerCell.m在应用程序执行过程中什么时候调用此方法?是自动调用的吗?我没有看到任何回调。 最佳答案 你会找到你的答案here编辑:直接从博客复制:init不会导致调用layoutSubviews(duh)addSubview导致在被添加的View、被添加到的View(目标View)以及目标View的所有subview上调用layoutSubviews仅当框架的尺寸参数不同时,setFrame才在设置了框架的View上智能调用la

ios - 在 Cocoa Touch 中实现去抖动/合并模式,例如 `layoutSubviews`

许多CocoaTouch类利用合并事件的设计模式。例如,UIViews有一个方法setNeedsLayout,它会在不久的将来调用layoutSubviews。这在许多属性影响布局的情况下特别有用。在每个属性的setter中,您可以调用[selfsetNeedsLayout]这将确保布局将被更新,但如果同时更改多个属性甚至会阻止对布局的许多(可能昂贵的)更新如果在运行循环的一次迭代中多次修改单个属性。其他昂贵的操作,如setNeedsDisplay和drawRect:这对方法遵循相同的模式。实现这种模式的最佳方法是什么?具体来说,我想将一些依赖属性绑定(bind)到一个昂贵的方法,如果

ios - 自定义 UITableViewCell 中的 contentView 宽度错误?

在UITableViewCell子类中,我覆盖了layoutSubviews,因为我需要计算几个subview的帧。我所有计算的基础是内容View的宽度。这就是我开始实现layoutSubviews的样子:-(void)layoutSubviews{[superlayoutSubviews];//invokethistosetupthecontentview'sboundsCGFloatcontentViewWidth=self.contentView.bounds.size.width;[...]//calculateandassignframestosubviews}我已经开始在i

ios - 旋转时调用两次 layoutSubviews

当我的主视图旋转时,我想重新安排subview,所以在我的ViewController中,我重写了willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientationduration:(NSTimeInterval)duration并在那里设置subview的框架。这一切都很好,但在subview中我也覆盖了layoutSubviews所以他们正确地布局自己。但问题是这现在被调用了两次-大概是当我在willAnimateRotationToInterfaceOrientation中设置Frame时一次

iphone - 裁剪后的 UIButton 标题

我正在为UIButton的标题使用自定义字体。它的工作原理,除了这个特定的字体,第一个字符的一部分被剪掉了。例如:我尝试设置contentEdgeInsets和titleEdgeInsets,但似乎无法让它不被剪裁。我还尝试将button.titleLabel.clipsToBounds属性设置为NO;如有任何建议,我们将不胜感激。 最佳答案 虽然Jeshua的解决方案运行良好,但在我看来它并不是最佳方案。我宁愿推荐子类化UIButton并覆盖它的layoutSubviews方法。-(void)layoutSubviews{[sup