我想使用resizableImageWithCapInsets方法调整图像大小。但它没有伸展。我也不知道UIEdgeInsetsMake的真正基础。谁能告诉我它是如何工作的。 我正在使用此代码:
UIImage *mars = [UIImage imageNamed:@"button.png" ];
UIImage* marsTiled = [mars resizableImageWithCapInsets:
UIEdgeInsetsMake(mars.size.height/4.0,
mars.size.width/4.0,
mars.size.height/4.0,
mars.size.width/4.0)
resizingMode: UIImageResizingModeStretch];
[containerView addSubview:marsTiled];
这里的容器视图是uiview。
它看起来像实施后
请帮忙。
答案 0 :(得分:0)
试试这个:
UIImage *rawEntryBackground = [UIImage imageNamed:@"MessageEntryInputField.png"];
UIImage *entryBackground = [rawEntryBackground stretchableImageWithLeftCapWidth:13 topCapHeight:22];
UIImageView *entryImageView = [[[UIImageView alloc] initWithImage:entryBackground] autorelease];
entryImageView.frame = CGRectMake(5, 0, 248, 40);
entryImageView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
答案 1 :(得分:0)
UIEdgeInsets
允许您指定一个不会拉伸的区域,因此保持原样。在您的情况下,您可能希望图像在圆圈的中间被拉伸,因此必须通过指定UIEdgeInsetsMake()
的值来指定图像边框到top
的圆圈中间的插图。 1}},left
,bottom
,right
。我建议使用像Photoshop或Preview这样的工具和选取框选择功能来确定插图。您还想将UIImageView添加到containerView而不是直接添加到图像中。
[image resizableImageWithCapInsets:UIEdgeInsetsMake(20.f, 12.f, 19.f, 19.f)]