2014年4月3日木曜日

UIView小技集


  1. UIViewの罫線
    drawRectで描画することもできますが、こんな簡単な方法で可能でした。
    //↓赤枠を2ptで描画
    [view.layer setBorderColor:[UIColor redColor].CGColor];
    [view.layer setBorderWidth:2.0];
    (UIViewに枠線を付ける方法からのコピペです。)

    角を丸くする場合
    view.layer.cornerRadius = 10;
     
  2. UILabelのサイズをtextに合わせる
    CGFloat padding = 4;
    CGSize size =
       [aL
    abel.text sizeWithAttributes:@{NSFontAttributeName:aLabel.font}];
    aLabel.frame = CGRectMake(aLabel.frame.origin.x,                                              aLabel.frame.origin.y,
                                                  size.
    width + padding*2,
                                                  size.
    height + padding*2);
  3. UILabel内の文字マージン調整
    UILabelのサブクラスでdrawTextInRectをオーバライド
    - (void)drawTextInRect:(CGRect)rect
    {
        rect.origin.y += 2;
        [super drawTextInRect:rect];}
     
  4. Viewの拡大/縮小
    例: aViewを縦横1.5倍に拡大
    CGFloat scaleX = 1.5;
    CGFloat scaleY = 1.5;
    CGAffineTransform tr =
                   CGAffineTransformScale(aView.transform, scaleX, scaleY);
    aView.transform = tr;