UIEdgeInsets
UIEdgeInsets
CSSにおける paddingみたいなもの. 元となる CGRect から paddingを適用した CGRect を生成することができる. UAModalPanelで使用されている. CGPointを考えなくてもいいところとサイズの計算を自分でしなくても良いところが便利.
CGRect
CGPointと CGSizeからなる構造体. 生成が面倒.
UIView *blueView = [[UIView alloc]initWithFrame:CGRectMake(100, 200, 100, 100)]; blueView.backgroundColor = [UIColor blueColor]; UIEdgeInsets insets = UIEdgeInsetsMake(10, 10, 10, 10); // top, left, bottom, right CGRect blackRect = UIEdgeInsetsInsetRect(blueView.frame, insets); UIView *blackView = [[UIView alloc]initWithFrame:blackRect]; blackView.backgroundColor = [UIColor blackColor]; [self.view addSubview:blueView]; [self.view addSubview:blackView];
こんな感じで上下左右が10ピクセルずつ小さいビューが作れる.