Tag: 自动布局

cell.contentView systemLayoutSizeFittingSize:不适用于dynamic高度tableview

我试图在自定义的uitableviewcell中使用自动布局并试图根据这个SO主题来实现dynamic高度 在UITableView中使用自动布局来实现dynamic单元格布局和可变行高 但我的单元格是由xib文件创build的。 所以方法有些不同这里是我的代码在heightForRowAtIndexPath -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { myDataItem *item= [[data items] objectAtIndex:[indexPath row]]; CustomCell *cell = [self.offscreenCells objectForKey:@"CustomCell"]; if (!cell) { cell = [CustomCell alloc] init]; [self.offscreenCells setObject:cell forKey:@"CustomCell"]; } [cell.commentView setText:item.comment]; [cell.displayNameView setText:item.displayNameOfItemOwner]; [cell.timeAgoView setText:item.timeAgo]; [cell.imageView setImage:[UIImage imageNamed:@"sis_profile_placeholder"]]; cell.bounds = CGRectMake(0.0f, 0.0f, CGRectGetWidth(tableView.bounds), CGRectGetHeight(_prototypeCell.bounds)); [cell setNeedsLayout]; [cell layoutIfNeeded]; CGFloat height = [cell.contentView […]

自动布局 – 中央有5个button

我正在尝试进入自动布局业务,但我觉得很难。 我试图让5个图像视图显示在视图的中心彼此相邻。 他们需要调整自己的身高来扩大身高。 这就是它在IB中的样子(以及它在运行应用时需要看的样子): 所以我有以下约束: 增加了1:1的长宽比,以便它们总是平方 第一个button是“拥抱”视图的左侧,所以它会显示在旁边。 以下4个button与它们旁边的button之间具有水平间距 每个button对屏幕的顶部和底部都有一个限制,所以如果调整屏幕大小,它们会变大。 但是,当我运行它,它看起来像这样: 而我只是有点难倒在这里。 我究竟做错了什么? 在此先感谢,最好的问候 – / JBJ **编辑**我添加了最后一个button尾随约束。 这确保了它们都在屏幕内,但是在考虑它的大小的时候有点问题,所以也没有解决它。 *编辑编辑*试图消除顶部和底部约束,因为他们是迫使大小。 为他们全部添加了垂直中心约束。 这也不行。 显示他们非常小(排队很好,但太小),还带有警告:

AutoLayoutdynamic调整UILabel的高度和宽度

我有一个UILabel和一个UIView包含在Storyboard中并排的其他子视图。 UIView应该对着UILabel的右边缘(尾随约束为1),但是我也需要UIlabel(左边的那个)来设置它的宽度等于它的内容大小,除非它达到最大宽度。 视觉: |标签文字| | UIViewWithSubviews | 我需要以下约束: 1)标签应该调整宽度明智的,除非它达到最大尺寸,高度也是dynamic的,这意味着当文本达到最大宽度,然后换行将打破句子到另一行。 和UIview将变得垂直于UIlabel。 2)UIView应该总是alignment标签的右边缘在垂直中心。 如何在Storyboard中设置? 提前致谢。

iOS 7 TableView中ViewController和NavigationBar的模糊效果

我开始在故事板中使用TableViewController在应用程序中构buildTableView。 当你这样做的时候,当你向下滚动你的列表时,你会有非常酷的效果:在导航栏后面移动的单元格变得模糊。 一段时间后,我不得不从这个TableViewController移动到一个带有TableView的ViewController(我不得不在表格底部添加其他视图)。 为了避免将第一个单元格隐藏在导航栏上(在其上方),我在顶部和底部布局指南以及视图的左侧和右侧边缘添加了约束条件。 这工作正常,但我失去了冷静模糊的滚动效果:单元格似乎是消失之前,导航栏后面。 我已经看到人们不使用约束并在界面构build器中添加幻数的解决方法。 我不能这样做,首先是因为我不喜欢它,其次是因为我必须与iOS 6兼容。 我错过了什么,能够从模糊的导航栏效果再次受益?

纵向和横向模式下的不同布局

假设我在iPad肖像上有这个布局devise。 但是,当iPad处于风景中时,我想这样做: 是否有可能做到这一点与自动布局? 还是用less量的代码?

如何打开/closures故事板中单个视图控制器的自动布局

我想打开/closures故事板中的单个视图控制器的自动布局(我相信被称为场景) 当我转到故事板中的特定场景并更改检查器中的“ Use Auto Layoutcheckbox时,我会为整个故事板场景启用/禁用自动布局。 我无法理解这种行为,因为对于其中一个checkbox看起来像一个特定场景的属性,而不是整个故事板,第二我不明白为什么一个场景布局与其他场景有什么关系。 这甚至有可能吗? 故事板或可能仅在代码中可能吗?

iOS:multiline uilabel只显示一行自动布局

下面的代码,我认为应该导致一个多行标签后面跟着一个button,但是,布局后,只有一行标签显示出来。 虽然我可以在垂直布局中明确表示高度,这样会打破目的。 任何关于我应该适用的其他限制的想法? UILabel *lbExplain = [[UILabel alloc] init]; lbExplain.text = @"The Sync process allows you to synchronize your library between different devices. By clicking on the button below you can find other devices to sync with. The other device also has to be running this applicaton."; lbExplain.lineBreakMode = NSLineBreakByWordWrapping; lbExplain.numberOfLines = 0; lbExplain.translatesAutoresizingMaskIntoConstraints = […]

如何在故事板上的Xcode 5中抑制约束和布局警告?

是否有任何标志抑制Xcode 5中的故事板的不明确的布局或错位的意见。 我在代码中添加了约束,我只是将Interfacebuilder中的视图用作傻瓜。 我不希望应用Xcode Resolve自动布局问题,因为我很高兴在Interfacebuilder中以可视方式显示视图。

视图横向和纵向模糊,布局复杂

我的故事板上有一个UIViewController ,它有两个子视图水平并排。 我添加了约束条件来将前缘和后缘固定为一个常量(20点),另外还有一个约束来保持宽度相等。 如果我假设以下,应该有可能计算每个子视图的宽度将需要是什么: 子视图不重叠 没有其他意见(水平,至less) 屏幕的宽度(超视图)是已知的 但是,XCode给我一个警告,我的观点是水平不明确的。 我猜测这意味着XCode没有做出这些假设之一,但是哪一个呢? 有没有办法指示XCode做出这样的假设? 编辑:好吧,玩了一下,并得到了警告消失,但它看起来不是第一个假设 – 它只是将每个子视图的宽度设置为superview.width – 40 ,并愉快地埋在另一个视图之下。 所以问题是如何阻止它们重叠? 编辑2:好吧,我的实际屏幕比我简单的例子更复杂。 这是我得到的: 所以在这个设置中,我有4个视图是垂直和水平交错的。 我想蓝色,红色和紫色视图都是相同的subview.frame.size.width = superview.width – 60 。 蓝色和紫色排列在左列,红色单列在右列,所有间隙(两列之间和每列与最近的边缘之间)都是恒定的(20点)。 这3个表格有一个可变的高度,我将按照詹姆斯在这里的回答中的描述来设置编程。 在底部是一个粉红色的视图,延伸屏幕的宽度(减去空白),并坐在一个恒定的20分以下的紫色或红色视图,以较低者为准(我试图通过给它一个对每个视图的> = 20的间隔约束,我希望它会为它们中的一个准确地select20)。 由于所有的高度是dynamic的,可能不一定适合在屏幕上同时,我做了他们的超级观点UIScrollView而不是正常的UIView 。 当所有的事情都说完之后,我仍然得到一个警告,那就是我的所有观点都是水平模糊的,而粉色条是垂直模棱两可的。 我觉得在实现什么应该是什么之后会遇到麻烦,这就是为什么它认为它是水平模糊的。 而且我认为把粉红色的酒吧放在紫色或红色的视图下方20点并不是挑剔的,这就是为什么它认为它是垂直模糊的。 任何人都可以确认或否认任何这些怀疑? 或者build议一个方法呢? 当我最后运行它时,我只是得到了这个(我把scroll view的背景变成了黄色,这是你在故事板屏幕截图中所看不到的):

使用自动布局以编程方式添加视图给出'NSGenericException',原因:'无法在视图上安装约束

我使用[self.view addSubview:myView]添加一个视图作为子视图。 这在纵向模式下工作正常。 然而,它在景观中根本不起作用。 如何以编程方式添加布局约束? 我的看法目前看起来像肖像矩形,我需要它看起来像横向模式的景观矩形。 我试过这段代码,看看代码中的约束是如何工作的,但总是会导致exception。 代码是: [self.view addSubview:_preView]; NSLayoutConstraint *myConstraint = [NSLayoutConstraint constraintWithItem:_preView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view.superview attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-239]; [_preView addConstraint:myConstraint]; 这总是导致一个例外。 我知道上面的代码只是试图确保预览的底部是在主视图的底部以上239px。 但是这也行不通。 你能帮我解决这个问题吗? UPDATE 生成的exception是: 2013-08-05 16:13:28.889 Sample Code[33553:c07] *** Terminating app due to uncaught exception 'NSGenericException', reason: 'Unable to install constraint on view. Does the constraint reference something from outside […]