草庐IT

LayoutSubviews

全部标签

ios - UITextField 中的自动布局 : Auto Layout still required after executing -layoutSubviews

我将UITextField子类化以在左侧添加标签。我正在使用自动版式来布置标签。但是,我不断遇到此崩溃:下面是我的布局代码:-(void)updateConstraints{self.segmentLabel.translatesAutoresizingMaskIntoConstraints=NO;NSLayoutConstraint*constraint;constraint=[NSLayoutConstraintconstraintWithItem:self.segmentLabelattribute:NSLayoutAttributeHeightrelatedBy:NSLayou

ios - 每当更改 View 的大小时是否调用 layoutSubviews?

在我的印象中,当autoresizesSubviews=YES时,layoutSubviews应该在每次View大小改变时被调用。但我发现我的观点并非如此。我的期望错了吗? 最佳答案 根据Apple的消息来源,“-[UIViewlayoutSubviews]应该在View大小改变时被调用。”他们还让我引用了iOS的ViewProgrammingGuide:“每当View的大小发生变化时,UIKit应用该View的subview的自动调整行为,然后调用View的layoutSubviews方法让它进行手动更改。您可以在自定义View中

iphone - CustomTableCellView的实现-layoutSubviews需要调用super,NSInternalInconsistencyException

在tableViewxib的自定义单元格中使用autoLayout时,出现以下错误。在iOS6模拟器中运行时CustomCells实现-layoutSubviews需要调用superAssertionfailurein-[CustomCellslayoutSublayersOfLayer:],/SourceCache/UIKit_Sim/UIKit-2372/UIView***Terminatingappduetouncaughtexception'NSInternalInconsistencyException',reason:'AutoLayoutstillrequiredafte

iphone - 如何让 layoutSubviews 在 sizeThatFits 之前被调用?

当我在我的一个View上调用sizeToFit时,我注意到iOS框架首先调用sizeThatFits,然后在该View上调用layoutSubviews。这对我来说是有问题的,因为我的sizeThatFits中的计算取决于我的layoutSubviews的结果。在下面的示例中,subview在layoutSubviews中得到调整,并且此subview的高度在sizeThatFits中使用。目前我的代码无法正常工作,顺序已颠倒。在我的ViewController的viewDidLoad中:UIView*header=[[MyHeaderalloc]init];[headersizeTo

ios - 当 UIButton 的 subview 是 UITableViewCell 的 subview 或任何其他 View 的 subview 时,设置 UIButton 边缘插入的理想位置是什么

我有一个场景,我需要为添加到UITableViewCell的UIButton更改UIEdgeInsets,我在layoutSubviews中设置了它,但这被调用了很多次,它也适用于init,但我不确定这是否真的是一个地方因为那只会调用一次。overridefunclayoutSubviews(){super.layoutSubviews()ifimageView!=nil{titleEdgeInsets=UIEdgeInsets(top:52,left:-10,bottom:0,right:-10)}}谁能告诉我哪个是理想的地方,为什么? 最佳答案

ios - 展开可选 IBOutlet 值时为零

我遇到了一个fatalerror:在为IBOutlet展开可选值时意外发现nil。在我的自定义View中,我已将我的导出与XIB文件相关联。我已经仔细检查过这个。这是它的样子:@IBOutletweakvarlabel:UILabel!{didSet{label.textColor=.redColor()}}我的layoutSubviews实现如下:overridefunclayoutSubviews(){super.layoutSubviews()label.preferredMaxLayoutWidth=label.frame.size.width}尽管layoutSubviews

ios - UITableViewCell 使用自定义 layoutSubviews() 出现在屏幕上后隐藏部分内容

我正在为UITableView苦苦挣扎。正如您在thisvideo中看到的那样在表格View的第三部分中,第三个单元格显示不正确。当我像那样出队时会发生这种情况:letcell=tableView.dequeueReusableCell(withIdentifier:MultipleSelectAnswerSurveyTableViewCellIdentifier,for:indexPath)as!MultipleSelectAnswerSurveyTableViewCellcell.setup(answer:question.answers?[indexPath.row].value

ios - 由于自动布局没有计算尺寸,将 subview 添加到自定义 View 最终是错误的

我已经创建了一个自定义View类。我有一个我想模糊的ImageView。我在下面的代码中添加了模糊效果,但显然它不起作用,因为ImageView是错误的。由于自动布局尚未计算ImageView的高度和宽度的正确尺寸。但是,我应该覆盖哪种方法才能访问正确的位置和大小属性?只添加一次的解决方案是什么?classProductListingCell:UICollectionViewCell{@IBOutletweakvarnameLabel:UILabel!@IBOutletweakvarsharpImageView:UIImageView!@IBOutletweakvarblurImage

ios - 如何在不 Hacky 的情况下在 UITableViewCells 之间添加边距

我在这里看到的很多解决方案包括将单元格的背景更改为图像以及使用行的部分而不是行本身。我希望只有两个部分,并让每个单元格在点击时扩展高度,因此这些解决方案都不起作用。我看到一个解决方案包括在layoutSubviews()函数中设置单元格的框架,如下所示:overridefunclayoutSubviews(){super.layoutSubviews()self.frame=CGRectOffset(self.frame,0,10);}但是,当我这样做时,它只会为一个单元格提供边距,而且只有在我点击该单元格时才会出现这种情况。有没有一种万无一失的方法可以在UITableViewCell

ios - 使用 xib 实例化 ViewController 时的帧大小不正确

我有一个看起来像这样的ViewController:classSpotViewController:UIViewController{letspot:Spotinit(spot:Spot){self.spot=spotsuper.init(nibName:"SpotViewController",bundle:nil)}overridefuncviewWillAppear(animated:Bool){super.viewWillAppear(animated)print("viewWillAppear:\(view.frame)")#=>(0.0,0.0,600.0,600.0)}o