17

に2種類の境界線を適用したいUIImageView

  1. 1つはの境界線layerですUIImageView
  2. 2番目はの周りの境界線layerですUIImageView

これどうやってするの?

4

4 に答える 4

32

試す

#define kBorderWidth 3.0
#define kCornerRadius 8.0
CALayer *borderLayer = [CALayer layer];
CGRect borderFrame = CGRectMake(0, 0, (imageView.frame.size.width), (imageView.frame.size.height));
[borderLayer setBackgroundColor:[[UIColor clearColor] CGColor]];
[borderLayer setFrame:borderFrame];
[borderLayer setCornerRadius:kCornerRadius];
[borderLayer setBorderWidth:kBorderWidth];
[borderLayer setBorderColor:[[UIColor redColor] CGColor]];
[imageView.layer addSublayer:borderLayer];

QuartzCore/QuartzCore.h をインポートすることを忘れないでください。

この例では、レイヤーに境界線を描画しますが、フレームを少し変更して、レイヤーの周りに境界線を作成します。

于 2012-06-25T18:16:58.667 に答える
2

別の方法は、次のように UIImageView のレイヤーの少し外側に別のレイヤーを追加することです。

CALayer * externalBorder = [CALayer layer];
externalBorder.frame = CGRectMake(-1, -1, myView.frame.size.width+2, myView.frame.size.height+2);
externalBorder.borderColor = [UIColor blackColor].CGColor;
externalBorder.borderWidth = 1.0;

[myView.layer addSublayer:externalBorder];
myView.layer.masksToBounds = NO;
于 2015-11-10T06:00:43.790 に答える