草庐IT

autolayout

全部标签

ios - UITableView Footer、 Storyboard和 Xcode 6 的自动布局问题

我试图通过Storyboard将页脚View添加到我的UITableView,但Autolayout一直绘制的页脚View比我在Storyboard中设置的View大得多。这似乎是由页脚View中包含的UIButton上的自动布局约束引起的,尽管没有约束组合(我已经尝试了几种)导致页脚View大小正确,即使我在页脚中正确调整了UIButton的大小查看。问题的屏幕截图(页脚View具有白色背景):我在这个特定实例中使用的约束(但请记住,我已经尝试了几种,包括那些为UIButton定义了高度的约束-当我设置UIButton的高度时,UIButton正确绘制,但页脚View仍然是由于某种原

iOS 自动布局 - 尽管设置了限制,但图像和屏幕顶部之间存在间隙

我有一张图片想放在屏幕的顶部。我已将其模式设置为宽高比,因为我想保留原始比例。我还将左、上和右约束设置为0:尽管顶部约束设置为0,但图像和屏幕顶部之间有很多空白区域,这绝对不是我想要的:只有当我将最高约束设置为大约“-100”时,我才会得到类似于我想要实现的结果:能否请您解释一下这种不直观的行为,并告诉我应该如何将图像无间隙地放置在屏幕顶部-如上图所示。 最佳答案 如果您仍然遇到此问题,这值得一试。点击您的ViewController,然后取消选中以下属性。看看是否能解决问题。 关于iO

IOS 8 图像缩放和自动布局

假设我有一个UIView,只有一个图像在UIView的顶部居中,我像这样为图像提供了一个图像资源iPhone4s及更早版本50x50正常@2xiPhone5/5c/5s/6100x100@3x适用于iPhone6+150x150显然图像的宽度和高度随着设备的不同而增加,所以问题是我如何处理自动布局,我应该将宽度和高度限制设置为大于或等于还是什么?还有我如何处理图像本身的定位?我注意到的最后一件事是IOS模拟器总是对不同的设备使用相同的图像,这是我的错误还是问题? 最佳答案 为此,您需要了解点和像素之间的区别。我们在Interface

ios - Xcode 自动布局和自适应设计

我过去使用过自动布局,但从未真正使用过需要根据屏幕尺寸调整元素间距的设计,我对如何执行此操作的限制有点迷茫。我的元素是这样布局的:这是它在预览中的样子:如您所见,它在2个较大的屏幕上看起来不错,但一旦达到4英寸,2个链接就会堆叠在一起。顺便说一句,我设置它的方式是从登录标签到忘记密码?链接基于顶部布局指南还没有帐户?通过Facebook按钮注册的标签基于底部布局指南。无论如何,我可以在所有设备上获得相同(或至少接近)的间距吗?预先感谢您的帮助! 最佳答案 使用允许变量定位的约束(如≤和≥)。将它设置为“忘记密码?”之间的距离。和“还

ios - swift : UITableViewCell size to width of parent UITableView with autolayout enabled

我正在试验自动布局,但在使用UITableViewCell时遇到了麻烦,因为它们是在运行时创建的。我的单元格是从主ViewController的xib加载的。此xib的View模式设置为AspectFill。我已经阅读了有关在线执行此操作的不同方法,但尚未让其中任何一种起作用。处理此问题的最佳方法是什么? 最佳答案 看起来您的约束设置不正确,因为单元格比图像的高度短。使用AutoLayout和自动调整单元格是处理您想做的事情的最简单方法。一旦为自定义单元格正确设置了约束,tableView:cellForRowAtIndexPath

iOS 布局动画在 GMSMapView 拖动时触发时忽略持续时间

您可以在下面比较两个gif时看到问题。“收缩”和“拉伸(stretch)”动画都基于约束操作,并且[selflayoutIfNedeed]放置在-animateWithDurationblock内。如您所见,本地图不移动时,它会按预期工作。但是当您开始拖动map时,“收缩”动画会立即发生。如果仔细观察,您可能会注意到cornerRadius动画仍然有效。这告诉我它可能与map有关(里面有ScrollView?不知道谷歌地图是如何工作的)调用它自己的布局block干扰我的动画。或者可能是因为cornerRadius动画是使用CABasicAnimation完成的,而不是UIView动画。

ios - 以编程方式使用自动布局实现带有 subview 的 uiview 子类

我的需求非常通用,我必须实现一个UIView子类,该子类将UIImageView分组,以x为中心在屏幕上,距离顶部20pts,以及一个带有描述的UILabel。我在使用界面生成器时没有问题,但由于我需要以编程方式进行,所以我关注了技术和最佳实践。到目前为止,我想出了这段代码,开始只可视化图像。尽管它非常基础,但我无法理解为什么View没有派生(正如您从屏幕截图中看到的那样)应该在ImageView的所有边缘上“偏移”20点的正确框架。这是我的子类:标题@interfaceProgrammaticAutolayoutView:UIView@property(nonatomic,stron

iOS UIView 大小

我有一个带有4个UILabel的Controller,它们在所有iPhone中的高度都是恒定的,在最后一个UILabel下面有一个UIView带有页面Controller(在该页面Controller内有一个TableView)。我想要的是UIView占据他无法达到的所有高度:例子:600高度的屏幕4UILABELS=200高度TableView=它应该有400高度800高度的屏幕4UILABELS=200高度TableView=它应该有600高度我还需要1个约束来设置View的高度,我定义的是:对superView的等宽约束LeadingSpace到SuperView顶部空间到sup

ios - UITableViewCell 行高缩小到默认的 44 像素 (iOS 8)

我有一个包含不同高度单元格的tableView。我依靠iOS8s自动调整功能来计算高度。当View加载时,一切看起来都很棒并且按计划进行。在某些时候需要删除一个单元格。删除动画后,其余单元格将动画化为44像素的高度,原因不明。单元格中的所有View都是使用自动布局布局的,所以我对原因一无所知。由于某些限制,我无法尝试以下操作:重新加载表格View或使用heightForRowAtIndexPath因为一些单元格具有动态高度并且在调用此委托(delegate)方法时不可用。最大的问题是为什么?我该如何应对这种行为?删除行是:tableView.deleteRowsAtIndexPaths

ios - "Add New Constraints"为什么左边和右边是-16,而不是0?

自从Xcode6和iOS8的引入以来,我注意到当我去固定一个UIView类型来填充复选框时左边和右边总是-16,为什么不是0。因为我想要零间距。我只是想知道-16从哪里来? 最佳答案 Apple建议在UIView内部留出16pt的边距。Apple放这个是为了防止标签、图像等出现在屏幕的边缘。如果你想,但在边缘你有两种方法1-。将约束添加到-16通常它们有效,但有时无效2-。取消选中margin约束,你将有0这只发生在主UIView上如果你想在两个边缘上查看,我建议始终取消选中“constrainttomargin”