画像(矩形)のCGRect(原点座標/サイズ)、 CGPoint 原点座標、CGSize サイズ、中央座標を表示します。矩形変更(位置)ボタンを押すと右下に移動、矩形変更(位置、サイズ)ボタンを押すと左上に移動します。
矩形情報取得ボタンを押すと、その位置情報を表示します。
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *ivTarget;
@property (weak, nonatomic) IBOutlet UITextView *teString;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
// [矩形情報取得]ボタンを押した時
- (IBAction)proc01:(id)sender {
// (1)矩形(原点座標/サイズ)
CGRect rct = self.ivTarget.frame;
// マクロ:NSStringFromCGRect
NSLog(@"(1)%@", NSStringFromCGRect(rct));
//(2)原点座標
CGPoint pnt = self.ivTarget.frame.origin;
NSLog(@"(2)%@", NSStringFromCGPoint(pnt));
NSLog(@"(2)%f, %f", pnt.x, pnt.y);
//(3)サイズ
CGSize siz01 = self.ivTarget.frame.size;
NSLog(@"(3)%@", NSStringFromCGSize(siz01));
NSLog(@"(3)%f", siz01.height);
//(4)中央座標
CGPoint cpt = self.ivTarget.center;
NSLog(@"(4)%@", NSStringFromCGPoint(cpt));
self.teString.text = nil;
self.teString.text = [self.teString.text
stringByAppendingFormat:@"(1)矩形(原点座標/サイズ)\n"];
self.teString.text = [self.teString.text stringByAppendingFormat:
@"(1)%@\n", NSStringFromCGRect(rct)];
self.teString.text = [self.teString.text stringByAppendingFormat:@"(2)原点座標\n"];
self.teString.text = [self.teString.text stringByAppendingFormat:
@"(2)%@\n", NSStringFromCGPoint(pnt)];
self.teString.text = [self.teString.text stringByAppendingFormat:
@"(2)%f, %f\n", pnt.x, pnt.y];
self.teString.text = [self.teString.text stringByAppendingFormat:@"(3)サイズ\n"];
self.teString.text = [self.teString.text stringByAppendingFormat:
@"(3)%@\n", NSStringFromCGSize(siz01)];
self.teString.text = [self.teString.text stringByAppendingFormat:
@"(3)%f\n", siz01.height];
self.teString.text = [self.teString.text stringByAppendingFormat:@"(4)中央座標\n"];
self.teString.text = [self.teString.text stringByAppendingFormat:
@"(4)%@\n", NSStringFromCGPoint(cpt)];
}
// [矩形変更(位置)]ボタンを押した時
- (IBAction)proc02:(id)sender {
// 中央座標の取得
CGPoint cnt = self.ivTarget.center;
// 移動
CGPoint mov = CGPointMake(cnt.x + 10.f,
cnt.y + 10.f);
self.ivTarget .center = mov;
// 移動2(エラー)
// {
// CGPoint pnt = self.ivTarget.frame.origin;
// CGPoint mov = CGPointMake(cnt.x + 10.f,
// cnt.y + 10.f);
// self.ivTarget.frame.origin = mov;
//
// }
}
// [矩形変更(位置、サイズ)]ボタンを押した時
- (IBAction)proc03:(id)sender {
// 矩形情報の
CGRect rct = self.ivTarget.frame;
CGPoint pnt = rct.origin; // 原点座標
CGSize siz = rct.size; // サイズ
// 情報変更
CGRect newRct = CGRectMake(pnt.x -10.0f,
pnt.y -10.0f,
siz.width -5.0f,
siz.height -5.0);
self.ivTarget.frame =newRct;
}
@end
GitHub Rectangle
コメントをお書きください