2

我知道可拉伸的......是旧的(并且已弃用)......并且可调整大小......是新的 - 但一个大问题在这里......

新方法无法正常工作 - 在我对 tableview 的测试中,我有很多滞后。

我不知道问题出在哪里,但“离开”的那一行(我都知道):

home = [[UIImage imageNamed:@"homebubble"] resizableImageWithCapInsets:UIEdgeInsetsMake(24.0f, 15.0f, 24.0f, 15.0f)];
away = [[UIImage imageNamed:@"awaybubble"] resizableImageWithCapInsets:UIEdgeInsetsMake(24.0f, 15.0f, 24.0f, 15.0f)];

会出现问题 - 相信我,你不需要我的漏洞代码,我测试了每一行,如果我用 away 评论该行,一切正常,但如果同时调用两者,它就会滞后。

与旧版本相比,它的功能非常完美:

home = [[UIImage imageNamed:@"homebubble"] stretchableImageWithLeftCapWidth:24 topCapHeight:15];
away = [[UIImage imageNamed:@"awaybubble"] stretchableImageWithLeftCapWidth:24 topCapHeight:15];

怎么可能?有谁有他们的经验?谢谢。

4

2 回答 2

3

现在我知道原因了。

“可调整大小的区域”必须只有 1px,这一点非常重要。在我的项目中,我有一个 43x32 像素的气泡 - resizabel 区域是 -5x2px(-5 因为 uiedgeinsets 是 24、15、24、15) - 所以它必须始终未签名,aaaand,它必须是 1px。经过更多的测试,这是解决方案。

谢谢回答。

于 2012-09-10T15:33:42.763 回答
0

UIMakeEdgeInsetsMake 从最高值开始:

UIEdgeInsets UIEdgeInsetsMake (
   CGFloat top,
   CGFloat left,
   CGFloat bottom,
   CGFloat right
);

这可能是新方法无法正常工作的原因。尝试:

home = [[UIImage imageNamed:@"homebubble"] resizableImageWithCapInsets:UIEdgeInsetsMake(15.0, 24.0, 15.0, 24.0)];
away = [[UIImage imageNamed:@"awaybubble"] resizableImageWithCapInsets:UIEdgeInsetsMake(15.0, 24.0, 15.0, 24.0)];

我不知道这是你思想滞后的原因。

于 2012-08-21T16:31:16.090 回答