「ど忘れ漢字」をVer1.1.0にアップデートしました。
主な追加機能は下記。
+ 4 inch ディスプレイ(iPhone5/iPod touch 5Gen)対応
+iPad対応
iPadでは、縦横両対応です。
iPhone/iPod touch/iPadアプリ 開発/サポート & 日々のつれづれ
(This blog does the iPhone/iPod touch/iPad application development and support, and occasional scribble away.)
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// view1
// nothing to do.
// view2
// 角丸め
view2.layer.cornerRadius = 15.0f; // 角Rサイズ
view2.clipsToBounds = YES;
// view3
// 縁取り
view3.layer.borderWidth = 4.0f;
view3.layer.borderColor = [UIColor orangeColor].CGColor;
// view4
// 影付け(外)
view4.layer.shadowColor = [UIColor grayColor].CGColor;
view4.layer.shadowOpacity = 0.8f; // 影透明度
view4.layer.shadowRadius = 4.0f; // ぼかし範囲
view4.layer.shadowOffset = CGSizeMake(4.0f, 4.0f);
// view5
// 影付け(内)
// 影の投影はsubLayerへ
CALayer* subLayer = [CALayer layer];
subLayer.frame = view5.bounds;
subLayer.masksToBounds = YES;
subLayer.shadowColor = [UIColor darkGrayColor].CGColor;
subLayer.shadowOpacity = 1.0f; // 影透明度
subLayer.shadowRadius = 4.0f; // ぼかし範囲
subLayer.shadowOffset = CGSizeMake(4.0f, 4.0f);
// 影生成用のパス構築
CGMutablePathRef pathRef = CGPathCreateMutable();
CGPathMoveToPoint( pathRef, nil, -5, -5);
CGPathAddLineToPoint( pathRef, nil, -5, view5.bounds.size.height);
CGPathAddLineToPoint( pathRef, nil, 0, view5.bounds.size.height);
CGPathAddLineToPoint( pathRef, nil, 0, 0);
CGPathAddLineToPoint( pathRef, nil, view5.bounds.size.width, 0);
CGPathAddLineToPoint( pathRef, nil, view5.bounds.size.width, -5);
CGPathCloseSubpath(pathRef);
subLayer.shadowPath = pathRef;
[view5.layer addSublayer:subLayer];
// view6
// グラデーション
CAGradientLayer* gradetionLayer = [CAGradientLayer layer];
gradetionLayer.frame = view6.bounds;
gradetionLayer.locations = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.0f],
[NSNumber numberWithFloat:0.5f],
[NSNumber numberWithFloat:1.0f],
nil];
gradetionLayer.colors = [NSArray arrayWithObjects:
(id)[UIColor orangeColor].CGColor,
(id)[UIColor yellowColor].CGColor,
(id)[UIColor greenColor].CGColor,
nil];
[view6.layer addSublayer:gradetionLayer];
// view7
// 角丸+枠+グラデーション
{
CAGradientLayer* gradetionLayer = [CAGradientLayer layer];
gradetionLayer.frame = view6.bounds;
gradetionLayer.locations = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.0f],
[NSNumber numberWithFloat:1.0f],
nil];
gradetionLayer.colors = [NSArray arrayWithObjects:
(id)[UIColor colorWithRed:0.75f green:0.75f blue:0.75f alpha:0.4].CGColor,
(id)[UIColor colorWithWhite:1.0f alpha:0.3].CGColor,
nil];
[view7.layer insertSublayer:gradetionLayer atIndex:[view7.layer.sublayers count]-1];
view7.layer.borderColor = [UIColor grayColor].CGColor;
view7.layer.borderWidth = 0.5f;
view7.layer.cornerRadius = 15.0f; // 角Rサイズ
view7.clipsToBounds = YES;
}
// view8
// 丸ボタン(作例)
{
view8.layer.shadowColor = [UIColor darkGrayColor].CGColor;
view8.layer.shadowOpacity = 0.8f; // 影透明度
view8.layer.shadowRadius = 4.0f; // ぼかし範囲
view8.layer.shadowOffset = CGSizeMake(4.0f, 4.0f);
view8.layer.borderColor = [UIColor blueColor].CGColor;
view8.layer.borderWidth = 4.0f;
view8.layer.cornerRadius = 20.0f; // 角Rサイズ
// view8.clipsToBounds = YES; // <- これが有効だと影が表示されない。
}
}
① | ![]() |
画像サイズ |
② | ![]() |
撮影枚数 |
③ | ![]() |
撮影間隔(秒) |
④ | 消灯 |
⑤ | 撮影開始までの秒数 |