在头文件中:
@property (strong,nonatomic) IBOutlet UIView *zoomView;
在 m 文件中,我用一些大小、颜色和边框宽度初始化 zoomView:
- (void)viewDidLoad
{
[super viewDidLoad];
//initialize the zoom rectangle
[zoomView.layer setBorderColor: [[UIColor orangeColor] CGColor]];
[zoomView.layer setBorderWidth: 4.0];
[zoomView.layer setFrame: CGRectMake(zoomView.layer.frame.origin.x, zoomView.layer.frame.origin.y, 100, 200)];
}
然后在一些用户操作上,特别是捏合,我称之为代码:
-(void)redrawBox {
[zoomView.layer setBorderWidth: 4.0];
[zoomView.layer setNeedsLayout];
}
不幸的是,边框宽度变化很大。当框被缩小时,边框宽度会按比例增加,最终看起来非常糟糕。我已经仔细检查过是否调用了此代码并且边框宽度设置正确(如果我将宽度设置为 0,它就可以正常工作,然后框消失),但似乎 4.0 的边框宽度在不同时呈现非常不同缩放级别。
无论矩形如何缩放,如何将边框宽度设置为恒定?谢谢!