gpt4 book ai didi

ios - resizableImageWithCapInsets : issues

转载 作者:搜寻专家 更新时间:2023-10-30 20:14:10 24 4
gpt4 key购买 nike

我尝试弄清楚如何使用 resizableImageWithCapInsets:UIImageView 中使下拉图像适合黑色边框(边框只是为了方便)。

我使用 AutoLayout,_imageView 有固定的高度限制

        UIImage *dropdown = [[UIImage imageNamed:@"dropdown.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 20, 0, 100)];
_imageView.contentMode = UIViewContentModeScaleAspectFit; // modes see below
_imageView.clipsToBounds = NO;
_imageView.layer.borderWidth = 1;
_imageView.image = dropdown;

UIViewContentModeTopLeft

top left

UIViewContentModeScaleToFill

scale to fill

UIViewContentModeScaleAspectFit

aspect fit

UIViewContentModeScaleAspectFill

aspect fill

编辑

我尝试按照@Rahul 的建议设置顶部和底部插图,如果设置 UIViewContentModeScaleToFill 我现在得到的结果(其他模式下的结果类似)。您可能会注意到,白色向下箭头现在稍微向下移动

UIImage *dropdown = [[UIImage imageNamed:@"dropdown.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(8, 20, 8, 100)];

other pic

编辑2

更改偏移量似乎在这里没有帮助,问题似乎出在垂直缩放中,好像 ImageView 出于某种原因只接受一个垂直偏移量,而不是两个,所以我们得到非对称垂直偏移量

编辑3

GitHub 上的示例项目:ScaleTest-iOS

编辑4

使用自定义大小调整方法更新了 GitHub 示例(虽然无济于事),已创建 topic在 Apple 开发论坛上

编辑5

接受的答案我认为是一种解决方法,我真的更愿意保持固定的高度,但这似乎是不可能的。无论如何,感谢@Rahul 的帮助。

最佳答案

引用本教程:How To Make A Stretchable Button With UIEdgeInsetsMake对于 UIEdgeInsetsMake(8, 8, 8, 8) 并为您的图像应用合适的边缘插入....

UIImage *image = [[UIImage imageNamed:@"dropdown"] resizableImageWithCapInsets:UIEdgeInsetsMake(8, 20, 8, 100)];
_imageView4.layer.borderWidth = 1.0;
_imageView4.clipsToBounds = NO;
_imageView4.contentMode = UIViewContentModeScaleToFill;
_imageView4.image = image;

imageview4 高度设置为 35 而不是 40 像素,然后就完美了...

enter image description here

关于ios - resizableImageWithCapInsets : issues,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39524529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com