Tag: 约束

自动布局问题:iOS 7 vs iOS8

我正在尝试创build一个像这样工作的可折叠工具栏(在iOS 7中运行 – 用于可视化目的的丑陋颜色等): 但是,当我在iOS 8中运行代码时,会发生以下情况: 我已经build立了一个基于以下的约束系统: centering view (未示出)将工具栏保持在屏幕中间。 sizing view以折叠工具栏。 sizing view锚定在对中centering view的右侧(通过trailing约束)。 container view保存工具栏的实际内容。 它固定在sizing view的右侧(也通过trailing约束)。 容器content views中包含各种content views container view 。 他们没有任何限制。 系统应用的默认约束应该是宽度,高度,顶部,左边,这确保了它们在container view中的相对位置。 工具栏的折叠实现如下: – (IBAction)showLess:(id)sender { self.widthConstraint.constant = 50; // adjust this number for collapse / expand [UIView animateWithDuration:0.3 animations:^{ [self.centeringView layoutIfNeeded]; // trigger animation }]; } 其中调整sizing view的宽度。 […]

如何在代码中编辑约束

我有一个宽度约束为100的网页。 当用户点击一个button时,我想将约束更改为:200。 我试过这个: NSLayoutConstraint *constrain = [NSLayoutConstraint constraintWithItem:self.webPage attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.webPage attribute:NSLayoutAttributeWidth multiplier:1 constant:100]; [self.webPage addConstraint:constrain]; 但是这抛出了这个exception:“无法同时满足约束”。 有任何想法吗?

奇怪的UIView封装布局高度错误

我正在做testing应用程序,所以在我的tableviewCell故事板我有imageView&webView(用于显示HTML文本)。 我设置约束像顶部/左/右/高= 200的ImageView,他们之间的间距= 5和左/右/机器人为webView,所以我想计算我的webView高度编程,然后更改单元格heigt伸展我的webView。 但是我得到了这个: 无法同时满足约束。 下面列表中的至less一个约束可能是你不想要的。 尝试这个: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints & fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) ( […]

启用+禁用自动布局约束

我有一个简单的(我认为)的问题:我有一个UIImageView ,我已经在故事板中设置了多个约束。 有时,我需要禁用约束,并手动设置其frame ,但后来,我想要重新启用这些约束,并使视图返回到由约束决定的位置。 我以为我可以用这样的东西做到这一点: @IBOutlet weak var imageView: UIImageView! @IBOutlet weak var constraint: NSLayoutConstraint! func example() { //to set its location and size manually imageView.removeConstraint(constraint) imageView.frame = CGRectMake(…) //to cause it to return to its original position imageView.addConstraint(constraint) } 但是,我得到错误2015-08-26 01:14:55.417 Constraints[18472:923024] The view hierarchy is not prepared for the constraint: <NSLayoutConstraint:0x7fbb72815f90 V:[_UILayoutGuide:0x7fbb72814c20]-(100)-[UIImageView:0x7fbb72814540]> 。 […]

UICollection View调整屏幕大小的单元大小

目前我有一个采集视图占用我的大部分屏幕在3.5英寸的屏幕大小。集合视图是从顶部51像素,从屏幕的底部20像素。 我正在使用UIPageControl的单元UIPageControl来创build分页布局,每页一个单元格。 当切换到4英寸的大小,使用约束我可以得到collections视图扩大到新的空间(保持51像素从顶部和20从底部),但单元格大小保持不变,所以现在有一堆在单元格顶部和底部的空白空间。 我尝试使用约束,但似乎你不能为单元格设置它们。 如何扩大单元尺寸以填充iPhone 5上的空白空间? 集合视图代码是刚刚 – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { MyCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath]; return cell; } 布局在IB中设置我想在添加更多内容之前先让布局工作

在哪里创buildsubclassed uitableviewcell的自动布局约束?

我正在尝试为我创build的uitableviewcell子类使用autolayout,我将不胜感激一些关于什么方法放置布局约束创build代码的build议。 我一直在四处search,所有的信息都是在viewDidLoad方法中添加子视图之后添加约束的。 据我所知,viewDidLoad不是一个可用的viewcell子类的选项。 我正在使用接口生成器来创build自定义单元格,并在我的代码中dynamic分配它。 没有什么特别的…我subclass的uitableviewcell,所以我可以添加一个自定义的uiview到单元格。 再次,没有什么特别的地球震惊…我的困难来了,当我尝试定位我的自定义uiview相对于我添加到界面生成器单元格中的标签。 这是创build自定义uiview并将其添加到单元格的内容视图的代码: – (id)initWithCoder:(NSCoder *)decoder { if ((self = [super initWithCoder:decoder])) { [self initSelf]; } return self; } – (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { if ((self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])) { [self initSelf]; } return self; } – (void) initSelf { // Initialization code _badgeLabel = @""; if (!_customBadge) { _customBadge […]

XCode 7 Autolayout约束条件:如何使2张图片在中间保持水平

我试图将2个UIImage视图并排放置在屏幕中央。 如果它只是1 UIImage,我可以将它们设置为在容器中垂直和水平居中。 如果我有2个UIImage视图并排,我只能将它设置为垂直居中,但不是水平居中,因为两个UIImage视图将堆叠在一起。 有人能指导我吗? 谢谢,非常感谢!

UIStoryboard约束UIView

我有一个视图顶部我的viewcontroller,它的高度是64。 我需要这个观点在所有屏幕尺寸3.5“,4”,4,7“和5,5”保持相同的大小。 我正在采取的结果是截图。 我该怎么办? 将高度固定为64后,看起来像这样;

自动布局以编程方式修改约束乘数

如何以编程方式修改约束的乘数? 我已经设置了以下内容: [self.view addConstraint:[NSLayoutConstraint constraintWithItem:_button attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeWidth multiplier:0.5 constant:0.0]]; 我需要修改它到这个: [self.view addConstraint:[NSLayoutConstraint constraintWithItem:_button attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeWidth multiplier:1.0 constant:0.0]];

内容拥抱和内容压缩阻力问题,Autolayout约束

我已经修改了这个问题,提供了更多的信息和清晰的信息。 我想有一个dynamic的表格视图单元格,具有灵活的UITextView高度和可选的UIImageView。 根据UITextView和可选的UIImageView的内容大小,单元可以缩小或扩展。 这是我所期望的(下图): 正常大小:TextView的高度是固定的(比如77)。 ImageView的宽度和高度也是固定的(比如130,130) 当TextView的内容大小减小时,单元格缩小,ImageView向上移动。 当ImageView中没有图像时,ImageView不显示,单元格缩小。 以下是观点的结构: mainView是contentView的子视图 topView,textView,bigImageView,bottomView是mainView的子视图 但是,我实际得到如下。 左图:如果内容尺寸较大,则无法看到ImageView。 右图:如果内容大小是一行,ImageView可以看到,但是它的宽度和高度不固定130,130 警告问题如下: 如果我通过select“添加缺less约束”来修复它,我得到的结果如下: 正确的图片显示TextView的高度不再灵活。 TextView的限制,内容拥抱优先权,内容压缩阻力和内在尺寸: 这个TextView没有使用Intrinsic尺寸 ImageView的约束,内容拥抱优先级,内容压缩阻力和内在尺寸: 我用这个ImageView的内在大小 我一直在玩TextView和ImageView的拥抱优先和压缩优先级,但没有运气。 没有结果是我所期望的。 请帮助指出设置中的错误以及如何实现我的目标。