【问题标题】:change constraint inside tableViewCell更改 uitableViewCell 内的约束
【发布时间】:2015-05-01 11:04:35
【问题描述】:

我需要在UITableViewCell 中更改UIView 的宽度约束。通常我会为约束创建一个 IBOutlet ,但我该怎么做,因为它是一个动态原型 tableView ?请推荐

谢谢!

【问题讨论】:

  • 动态表格视图我猜你的意思是它是用代码创建的?您是在代码中设置了自动布局还是只是设置了旧的框架属性?
  • 我想你误会了,我的意思是动态 tableView 不是静态的。我正在使用 cellForRowAtIndexPath: 来设置单元格,而不是在界面生成器中设计它们。 tableView 本身在 IB 中添加了约束

标签: ios objective-c uitableview constraints tableviewcell


【解决方案1】:

您可以通过以下方式做到这一点

  1. 通过动态创建新视图

    UIView *v=[[UIView alloc]init]; v.frame=CGRectMake(0, 0, 500, 250);

  2. 或者通过标签访问视图或访问-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath中的内容视图子视图

    UIView *v=[cell.contentView.subviews objectAtIndex:0]; v.frame=CGRectMake(0, 0, 500, 250);

希望对你有帮助

【讨论】:

  • 我想过使用 viewWithTag 但我无法为约束设置标签。另外,当我使用 AutoLayout 时使用 CGRectMake 是个好主意吗?甚至认为它在 tableViewCell 中?
  • 我以为你会使用自动调整大小,但是你可以使用 [v addConstraint:[NSLayoutConstraint constraintWithItem:pageView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:200.0]];
  • 我会用那个!谢谢;)
猜你喜欢
  • 1970-01-01
  • 2020-09-30
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 2017-04-21
  • 2020-10-02
  • 2020-12-25
  • 1970-01-01
相关资源
最近更新 更多