1. ホーム
  2. ios

[解決済み] UIViewを囲む破線の枠線

2022-04-22 02:50:12

質問

の周りに破線のボーダーを追加するにはどうすればよいですか? UIView .

このようなもの

解決方法は?

このパターンは、以下の例のようにレイヤーとベジェパスを使ってボーダーを設定することができます。

オブジェクトC

CAShapeLayer *yourViewBorder = [CAShapeLayer layer];
yourViewBorder.strokeColor = [UIColor blackColor].CGColor;
yourViewBorder.fillColor = nil;
yourViewBorder.lineDashPattern = @[@2, @2];
yourViewBorder.frame = yourView.bounds;
yourViewBorder.path = [UIBezierPath bezierPathWithRect:yourView.bounds].CGPath;
[yourView.layer addSublayer:yourViewBorder];

Swift 3.1

var yourViewBorder = CAShapeLayer()
yourViewBorder.strokeColor = UIColor.black.cgColor
yourViewBorder.lineDashPattern = [2, 2]
yourViewBorder.frame = yourView.bounds
yourViewBorder.fillColor = nil
yourViewBorder.path = UIBezierPath(rect: yourView.bounds).cgPath
yourView.layer.addSublayer(yourViewBorder)

また、以下の例のように、パターン画像を用いて様々な種類のデザインを設定することもできます。

[yourView.layer setBorderWidth:5.0];
[yourView.layer setBorderColor:[[UIColor colorWithPatternImage:[UIImage imageNamed:@"DotedImage.png"]] CGColor]];///just add image name and create image with dashed or doted drawing and add here

ここで <QuartzCore/QuartzCore> フレームワークをプロジェクトに組み込み、以下の行でそれをインポートします。 YourViewController.m ファイルに記述します。

#import <QuartzCore/QuartzCore.h>