以编程方式向 UIImageView 添加约束

Posted

技术标签:

【中文标题】以编程方式向 UIImageView 添加约束【英文标题】:Adding a constraint programmatically to a UIImageView 【发布时间】:2013-04-26 03:50:17 【问题描述】:

更新:这似乎与自动布局无关。即使我禁用自动布局,我仍然会得到相同的结果:(

我在滚动视图中添加了一系列UIImageViews,并在花费数小时尝试诊断 问题,我得出的结论是,它必须是一个约束问题,它正在推动我的UIImages。请看附图:

正如您所见,UIImages 被向下推,因为我已将 UIScrollView 背景标记为红色。我还附上了我的UIScrollView 的约束图片:

这是我的滚动视图的属性:

如何在UIImageView 上设置约束,使其水平居中于UIScrollView?我正在使用以下代码用图像填充UIScrollView

for (UIView *v in self.scrollview.subviews)
    
        [v removeFromSuperview];
    

    CGRect workingFrame = self.scrollview.frame;
    workingFrame.origin.x = 0;

    for(NSDictionary *dict in info)
    

        UIImageView *imageview = [[UIImageView alloc] initWithImage:[dict objectForKey:UIImagePickerControllerOriginalImage]];

        MyManager * myManager = [MyManager sharedInstance];
        [myManager.assets addObject:imageview];
        [imageview setContentMode:UIViewContentModeScaleAspectFit];
        imageview.frame = workingFrame;
        [self.scrollview addSubview:imageview];
        workingFrame.origin.x = workingFrame.origin.x + workingFrame.size.width;
    

    [self.scrollview setContentSize:CGSizeMake(workingFrame.origin.x, workingFrame.size.height)];

【问题讨论】:

红色是文本视图? 在uiscrollview后面有一个textview,当点击顶部uisegment按钮中的“text”时会显示出来。 红色是滚动视图 【参考方案1】:

workingFrame.origin.y = 0;修好了

【讨论】:

以上是关于以编程方式向 UIImageView 添加约束的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将约束添加到导航栏 Swift

以编程方式向 UIView 添加约束

以编程方式向 Swift 中的视图添加约束时出错

以编程方式向已以编程方式添加到表格单元格的标签添加约束

以编程方式使用约束使 UIIMageView 居中

以编程方式将约束应用于 UIImageView 子视图