我想了解resizableImageWithCapInsets是如何工作的,所以我找到了这个图像
图像的大小是57x51所以我创建了这样的图像
image = [[UIImage imageWithContentsOfFile:[[NSBundle mainBundle]
pathForResource:@"PopoverViewBlackBackgroundArrowDown" ofType:@"png"]]
resizableImageWithCapInsets:UIEdgeInsetsMake(25.0, 28.0, 25.0, 28.0)];
和像这样的图像视图
UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:image];
backgroundImageView.frame = CGRectMake(0.0f, 0.0f, 210.0f, 110.0f);
[self.view addSubview:backgroundImageView];
但这是结果
它看起来不像传统的UIPopoverController。箭头也会调整大小。
你知道为什么吗?
感谢您的回答。
答案 0 :(得分:1)
我认为您的问题是边缘插入设置不正确。您应该尝试做的是将左右插图移动到箭头区域的一侧。
当你在图像的中心给予可伸展区域宽度为0的时刻时,它在单个点处拉伸中间的箭头。顶部和底部的插图看起来还不错,所以你的目标就是这样:
resizableImageWithCapInsets:UIEdgeInsetsMake(25.0, 10.0, 25.0, 47.0)];
即图像左侧和右侧的10 px边距。
希望有所帮助