Xcode imageView图像大小不为';不变

Xcode imageView图像大小不为';不变,xcode,swift,Xcode,Swift,我是在约束宽度100的帮助下设置的,但当我运行应用程序时,图像覆盖了UITableViewCell的一半,我无法更改它。有什么问题?为什么我的图像不改变大小,我如何修复它 设置此约束,这将使其远离左侧和顶部8个像素,高度=宽度=103: 如果您的TableView嵌入到ViewController中,请确保您也为UITableView添加了适当的约束。如果您直接使用UITableViewController,请忽略此项。假设您的Tableview位于ViewController中,请添加此约

我是在约束宽度100的帮助下设置的,但当我运行应用程序时,图像覆盖了UITableViewCell的一半,我无法更改它。有什么问题?为什么我的图像不改变大小,我如何修复它


设置此约束,这将使其远离左侧和顶部8个像素,高度=宽度=103:

  • 如果您的TableView嵌入到ViewController中,请确保您也为UITableView添加了适当的约束。如果您直接使用UITableViewController,请忽略此项。假设您的Tableview位于ViewController中,请添加此约束并取消选中“约束到边距”
  • 然后添加以下约束并取消选中“约束到边距”

  • 希望如此。请检查身份检查器(第三个选项)和“查看模式”。尝试将其更改为纵横比匹配或缩放以填充

    不同的,艰难的方式: 您还可以通过编程更改图片的大小:

    + (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
        //UIGraphicsBeginImageContext(newSize);
        // In next line, pass 0.0 to use the current device's pixel scaling factor (and thus account for Retina resolution).
        // Pass 1.0 to force exact pixel size.
        UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
        [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return newImage;
    }
    

    请提供更多信息、图像、代码当您将contentMode设置为AspectFill,但未设置剪辑子视图时,可能会出现问题。但您的图片清楚地表明,您的imageView上没有足够的约束。@Arbiutr我添加了一个故事板的图像。还有别的吗?只是打印了一张照片image@DánielNagy我设置AspectFill并取消选中
    剪辑子视图
    自动调整子视图的大小
    。如何解决此问题?是否要保持其高度=宽度=103?同时将内容类型设置为Aspect FitNope。。。我不知道发生了什么!