Iphone 使用UIImageView';s layer.border属性来设置边框

Iphone 使用UIImageView';s layer.border属性来设置边框,iphone,objective-c,xcode,cocoa-touch,uiimageview,Iphone,Objective C,Xcode,Cocoa Touch,Uiimageview,我有一个UIImageView,它有一个图像。initWithFrame:(CGRect)帧如下所示: #define BORDER_WIDTH_SELECTION 3 #define SELECTED_SCALE_VALUE 1.3 self.layer.masksToBounds = NO; smallFrame_ = frame; float newX = self.center.x - ((self.frame.size.width*SELECTED_SCALE

我有一个UIImageView,它有一个图像。
initWithFrame:(CGRect)帧
如下所示:

#define BORDER_WIDTH_SELECTION 3
#define SELECTED_SCALE_VALUE 1.3

    self.layer.masksToBounds = NO;
    smallFrame_ = frame;
    float newX = self.center.x - ((self.frame.size.width*SELECTED_SCALE_VALUE)*0.5);
    float newY = self.center.y - ((self.frame.size.height*SELECTED_SCALE_VALUE)*0.5);
    bigFrame_ = CGRectMake(newX, newY, self.frame.size.width*SELECTED_SCALE_VALUE, self.frame.size.height*SELECTED_SCALE_VALUE);
    self.layer.borderWidth = BORDER_WIDTH_SELECTION;
后来我触发了这个

- (void) setSelected {
    [self makeThumbnailBig];
    self.layer.borderColor = [UIColor colorWithRed:178.0/255.0 green:19.0/255.0 blue:50.0/255.0 alpha:1.0].CGColor;
}

- (void)makeThumbnailBig
{    
    [UIView animateWithDuration:0.2 animations:^{
        self.frame = bigFrame_;
    }];
}
ImageView
可以正确缩放并绘制一个红色边框,但是
ImageView
中的
图像从左边边框下方突出大约一两个像素。我已经删除了该图像,但这应该可以让您了解问题:


有什么想法吗?

在您的代码中有一行

self.layer.masksToBounds = NO;
根据问题,它应该是
YES

关于额外像素:


当您准备分割图像大小时,您可能会面临magic image高分辨率优化的问题。首先将分形部分添加到UIImageView维度。请参见代码中的一行

self.layer.masksToBounds = NO;
根据问题,它应该是
YES

关于额外像素:


当您准备分割图像大小时,您可能会面临magic image高分辨率优化的问题。首先将分形部分添加到UIImageView维度。参见

事实上,它是
self.layer.masksToBounds=YES。神秘用户删除了他们的答案,请返回以便我可以接受!你的问题中还有更多的问题:)确实是
self.layer.masksToBounds=YES。神秘用户删除了他们的答案,请返回以便我可以接受!您的问题中还有更多问题:)