- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个指定宽度为 200 的 UIButton
。它的 autoresizingMask
属性设置为 UIViewAutoresizingFlexibleWidth
。 UIImage
应用于此按钮的 backgroundImage
属性。此 UIimage
定义如下:
[[UIImage imageNamed:@"buttonimage.png"] stretchableImageWithLeftCapWidth:10 topCapHeight:0]
buttonimage.png
的宽度为 400px(按钮宽度的 2 倍,因为视网膜分辨率)并表示一个圆角矩形。在纵向模式下,一切都很好。一旦用户旋转设备并且 iPhone 进入横向模式,UIButton
就会被拉伸(stretch)。由于这种行为,图像的左圆角边框保持不变 (stretchableImageWithLeftCapWidth:
),但右角也被拉伸(stretch)。是否有任何我忘记设置的属性来确保只有一个指定的像素(例如第十个)被拉伸(stretch)而其他任何东西都保留它的尺寸?
提前致谢!
编辑:如果我使用较小的图像,它已经在纵向模式下拉伸(stretch),两个边框似乎都被扩展了。
已解决!如果您的图像名为“myImage.png”并且是视网膜版本,则只需将其命名为“myImage@2x.png”
最佳答案
Is there any property I forgot to set that ensures only one specified pixel (e.g. the tenth one) is stretched and anything else retains it dimensions?
不是真的,但考虑到您的图像大小,您应该重新阅读 leftCapWidth属性(property)。
可拉伸(stretch)图像的工作方式是:您提供左端,下一个像素被拉伸(stretch),并且图像的右侧 width = (total width - left cap + 1)
保持相同的。假设您将 left cap 设置为 10,并且原始图像为 400,则您告诉 iOS 图像的右侧不可拉伸(stretch)右侧为 400-10-1=389px
。同样的事情也适用于垂直方向。检查您是否在名称上没有 @2x 的普通设备上使用 @2x 图像,或者 2x 版本的像素是否恰好是两倍,或者是否存在大写/小写差异。您可以通过记录加载图像的大小来找到它。
我不知道为什么你的图像右侧被拉伸(stretch)了。鉴于您有 height=0
,如果按钮高度发生变化,整个图像可以垂直拉伸(stretch),但这不太可能只导致右侧变形。
关于iphone - UIButton backgroundImage stretchableImageWithLeftCapWidth :topCapHeight issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5766437/
你好我有这样的图像 我认为它可以很好地拉伸(stretch)。它宽 17 像素,高 30 像素。 我只想能够水平拉伸(stretch)它。但这就是我拉伸(stretch)它时的结果。 无需拉伸(str
我有一个盒子,我只想在其宽度上进行扩展,同时仍保持我拥有的圆角。我在 photoshop 中制作了图形。它正好是 13px 宽,所以每个角 6 个,中间 1 个重复。 UIImage* img = [
我没有收到有关 XCode 中的 stretchableImageWithLeftCapWidth:topCapHeight: 方法的弃用警告。我有部署目标 iOS 6.0。我收到其他功能的其他弃用警
Android 有没有像 iOS 一样拉伸(stretch)图像的方法、属性或 xml 标签? 例如: UIImage *stretchableBackButton = [[UIImage image
UIImage 有一个名为“stretchableImageWithLeftCapWidth”的方法,它可以水平缩放图像而不缩放“caps”。 有没有办法垂直地做到这一点?甚至水平和垂直? SDK 没
我有一个指定宽度为 200 的 UIButton。它的 autoresizingMask 属性设置为 UIViewAutoresizingFlexibleWidth。 UIImage 应用于此按钮的
我有一个名为 ShadowView 的 UIImageView 子类,它显示可以在任何东西下使用的阴影。 ShadowViews 将从 Nib 加载。 在 initWithCoder: 中,我有以下代
我知道可拉伸(stretch)的......是旧的(并且已弃用)......并且可调整大小......是新的 - 但一个大问题在这里...... 新方法无法正常工作 - 在我对 tableview 的
我使用 iOS SDK 6.1。 iOS 6.1 文档说 UIImage 方法 stretchableImageWithLeftCapWidth:topCapHeight: 在 iOS 5.0 中已弃
我是一名优秀的程序员,十分优秀!