草庐IT

AutoLayout

全部标签

ios - 在堆栈 View 中定义 View 的宽度?

我想在堆栈View的帮助下创建类似设计的图形。我在堆栈View中水平添加了5个View。现在我想做的是给单个View一些高度sat25并使堆栈View的属性相等宽度,但不知何故我做不到。我不得不给stakview提供前导和尾随,并根据前导和尾随内部View宽度进行计算。但是因为前导和尾随对于所有设备都是静态的。我试图让堆栈View水平和垂直居中,但这没有用。这是我的约束为什么我必须给出前导和尾随以计算堆栈View内的内部View宽度。为什么我不能对堆栈View使用垂直和水平居中并让堆栈View使用我为单个View定义的宽度? 最佳答案

ios - clipsToBounds 似乎在 UIStackView 中没有效果

是否可以在UIStackView之外呈现subview?我有一个带有按钮和标签的垂直堆栈View,我使用堆栈View的宽度来适本地设置按钮的高度和宽度:addArrangedSubview(self.loginMethodButton)letwidthConstraint=NSLayoutConstraint(item:self.loginMethodButton,attribute:.width,relatedBy:.equal,toItem:self,attribute:.width,multiplier:1.0,constant:0.0)letheightConstraint=N

ios - 使用自动布局使 CustomView 适合 SuperView

我正在尝试创建一个基于此tutorial翻转的卡片View.它创建一个UIView并添加卡片View。为此,我创建了一个自定义UIView(使用Xib),到目前为止它运行良好。我在Storyboard中为调用addSubview的View添加了正确的约束。到目前为止,这是有效的,但是当我添加自定义UIView时,它指的是它在xib中的大小,而不是superView的大小。如何添加必要的自动布局约束以使subview适合其父View?谢谢!附言我已经用Objective-C编写了它,但它对我来说并不重要,无论答案是用swift还是Objective-C。 最佳

ios - 如何设置自调整单元格 iOS8

我有一个带有TableView的ViewController。现在我想设置一个自动调整大小的单元格。单元格应包含三个或更多标签。如果我只有两个标签,则自动调整大小的单元格可以完美运行。但是一旦我添加第三个标签,第二个标签中的文本就不再换行。第三个标签下方是大量可用空间。Screenshothttp://stefangerard.com/images/selfSizing.png以上就是三个Label的约束。第一个标签(HelloCustomCell)constraintfirstLabelhttp://stefangerard.com/images/constraint1.png第二个

ios - AutoLayout 的规则间距

这个问题对于AutoLayOut专家来说可能显得太简单了,但仍然不在我自己平时的AutoLayOut使用范围之内。我习惯玩.Top,.Bottom,.Left,.Right,.CenterX,.CenterY属性。但是处理对象很少的时候怎么办呢?例如,如果我有五个UILabel,并且我希望它们垂直对齐,并具有规则的间距。对于X轴部分,很简单:myXConstraint=NSLayoutConstraint(item:label1,attribute:.CenterX,relatedBy:.Equal,toItem:superView,attribute:.CenterX,multipl

ios - 带有 UITableViewCells + AutoLayout 的 UITableView - 不像*应该*那样平滑

我最近发布了一个关于带有自定义UITableCells的UITableView的问题,当使用AutoLayout定位单元格的subview时,该问题并不流畅。我收到一些评论,表明缺乏平滑度是由于单元格的复杂布局造成的。虽然我同意单元格布局越复杂,tableView必须进行更多计算才能获得单元格的高度,但我认为10-12UIView和UILabelsubview不会导致我在滚动时看到的延迟量一台iPad。因此,为了进一步证明我的观点,我创建了一个UIViewController项目,其中包含一个UITableViewsubview和自定义UITableViewCells,其子类中只有2个

在调用 viewDidAppear 之前,iOS 自动布局在自定义 View 中的修改不起作用

我有ViewController(如果重要的话使用Storyboard)。Controller内部有自定义View,我们称它为AView。该View作为带有自定义类集的UIView对象布置在Storyboard上。AView的内容在单独的XIB上,因为我需要这个高度可重用的。代码如下所示:classVC:UIViewController{@IBOutletweakvaraView:AView!overridefuncviewDidLoad(){super.viewDidLoad()aView.setup(false)//doesn'twork}overridefuncviewWillA

ios - "This application is modifying the autolayout engine from a background thread"

我有一个错误:Thisapplicationismodifyingtheautolayoutenginefromabackgroundthread,whichcanleadtoenginecorruptionandweirdcrashes每当我尝试将ImageView加载到表格View中时。相关代码如下:overridefunctableView(tableView:UITableView,cellForRowAtIndexPathindexPath:NSIndexPath)->UITableViewCell{letcellIdentifier="ArticleCell"letcell

ios - 我想将 Table View 精确放置到导航栏

请看虚线框区域,这是导航栏和表格View之间出现的额外空间。我试过3种方法,但问题相同。1.清除所有约束&“添加缺失的约束”2.我使用了pin,并与表格View上方的UI对象保持“0”距离3.我使用了拖动的方式,&设置了表格View的垂直间距。 最佳答案 您需要使用storyboard取消选中attributeinspectorAdjustScrollViewInsets中的属性,请参见下图。编辑:调整ScrollView插入:定义一个bool值,指示ViewController是否应自动调整其ScrollView插入。此属性的默认

ios - Xcode 添加重复约束?

在代码中我添加了4个约束。但是当我在UI调试器中运行应用程序时,它显示了额外的6个约束?我加的这4条应该都清楚了。我不知道我做错了什么?letleftConstr=NSLayoutConstraint(item:image,attribute:.leading,relatedBy:.equal,toItem:cell.contentView,attribute:.leading,multiplier:1.0,constant:0.0)letbottomConstr=NSLayoutConstraint(item:image,attribute:.bottom,relatedBy:.eq