通过在layoutSubviews中计算和设置它们的框架来查看其subview的布局。ViewB使用约束来布局它的subview。ViewA包含多个ViewB实例。ViewA在布局subview时需要知道其subview的大小,因此它在它们上调用sizeThatFits:。ViewB的高度取决于它的宽度。在我的示例中,它内部有一个多行UILabel。B应该如何实现它的sizeThatFits:以便它返回正确的大小,同时将size参数传递给sizeThatFits:和帐户中的约束条件?到目前为止我已经尝试/考虑过的:systemLayoutSizeFittingSize:-不起作用,因为
我已经在这里阅读了iOS6发行说明和一些与Autolayout+UIScrollview相关的主题,但是我有一个奇怪的错误我不知道如何解决。View的层次结构是:-View--UIScrollView----UIImageView----UILabel我通过InterfaceBuilder在View中添加元素,启用自动布局并保留默认约束。我的标签有一个动态文本,它的高度是可扩展的(在IB中配置的行数=0)。我希望ScrollView自动适应ImageView+标签的高度。下面是关联的ViewController类的代码:-(void)viewDidLoad{[superviewDidL
我试图摆脱InterfaceBuilder中那些烦人的警告,但我不明白它在提示什么(所有InterfaceBuilder,没有代码):我已经指定了一个固定的,固定的高度和固定的距离到右侧和顶部。但是警告告诉我NeedsConstraintsfor:Yposition,heightNeedsConstraintsfor:Xposition,width有人可以解释一下这些约束是如何不够的吗?编辑此外,当使用“自动”添加约束命令时,它什么也不做,错误仍然存在。 最佳答案 我怀疑superView没有固定到界面生成器中的大小。自动布局约
好吧,我终于开始使用Xcode8进行自动布局了。我可能在概念上有错误的想法。但是我在IB中有一个View,它有2个标签,一个按钮和一个imageview死点在View中,对于6plus和6个设备,尺寸为300x300。我想做的是改变iPhone5(SE)的imageview大小,所以我点击VaryforTraits并选择高度和宽度,然后将值更改为150x150单击完成,所有看起来都很好看iphone5(东南)。现在回到6plus和6,它的大小也调整为150x150,但我希望图像大小保持为300x300。同样,我的想法可能完全错误。我认为这里的重点是它的大小取决于所选择的内容,即变化。
我正在使用带有一些ViewController的Storyboard,这些ViewController的元素使用自动布局定位。每次我打开Storyboard时,我都会看到放错位置的View即使我修复了所有View。我必须一次又一次地更新框架。有没有什么办法解决这一问题?我正在使用xcode6。 最佳答案 正如@AnilVarghese所指出的,问题在于View的大小。打开Storyboard文件时,wAnyhAny以外的任何内容都会触发此警告。我认为这是一个Xcode错误。所以我必须确保我的View设置如上图所示。这意味着针对所有尺
在thistechnicalNoteApple声明您可以通过向UIScrollView的superView添加约束来使UIScrollView的subview固定/float。我试过了,但我做错了什么,我不知道是什么问题。Notethatyoucanmakeasubviewofthescrollviewappeartofloat(notscroll)overtheotherscrollingcontentbycreatingconstraintsbetweentheviewandaviewoutsidethescrollview’ssubtree,suchasthescrollview
到目前为止,我能够避免使用自动布局,因此对于这个(可能)愚蠢的问题深表歉意。我有一个以编程方式构建的ViewController(例如,没有IB)。我有一个UIPageControl对象,它位于viewControllerView的View层次结构中(例如,addSubview:)相反,我需要将UIPageControl对象与UIViewController主视图的底部边缘对齐。我希望UIPageControl水平居中,但距离底部边缘20-40像素。这是我创建UIPageControl并显示它的一些示例代码,但根本不在正确的位置。self.pageControl=[[UIPageCon
在xcode6中,我为自定义View创建了一个xib(名为:ViewA,背景颜色为红色),ViewA的xib的文件大小为600*600,在ViewA中,我放置了一个subview标签B(背景颜色为绿色)背景颜色),和labelB的numberOfLines=0,所以labelB'height是可变的,我希望ViewA的高度根据labelB的高度改变(例如ViewA.bottom=labelB.bottom+10),我已经固定了labelB的顶部,底部,尾部,通往ViewA,但它仍然不起作用,ViewA的高度始终为600,无论标签的高度是多少。我怎样才能在自动布局中实现这个目标?谢谢
第二个ImageView的图像取自Assets库如您所见,它不是从Assets库中引用图像,而是从项目中包含的图像文件中获取我正在使用Xcode7.2 最佳答案 您必须执行三个步骤:打开Xcode。转到窗口并选择项目。从新菜单中选择删除派生数据。从Assets库中删除图像。重新设置它并将其链接到ImageView。单击cmd+shift+k清理您的项目。之后运行您的应用或将其置于预览中。 关于ios-在Xcode中预览不显示Assets库中的图像,我们在StackOverflow上找到一
给定的问题我有以下View,其中包括导航栏、搜索栏和表格View-左图是我拥有的给定View,右图是我想要实现的View-基本上只是隐藏导航栏并调整所有内容的大小。目前的解决方案目前,我已经设法使用从搜索框到superView顶部属性的垂直空间约束来隐藏和调整所有内容-默认约束常量为44(导航栏高度)点击搜索框后我隐藏导航栏并将约束常量设置为0当我停止搜索时,我恢复导航栏并再次将限制设置为44我想要什么我正在寻找最简单的方法来隐藏导航栏并调整搜索框和表格的大小以填满整个屏幕。是否有任何方法来做到这一点并利用iOS6自动布局系统?我目前的解决方案感觉不自然。