LoginSignup
9
9

More than 5 years have passed since last update.

XCODE8,iOS10にてview.layer周りの表示がされない場合がある

Posted at

下記のようなコードを用いて、viewのlayerを制御している場合があると思います。

        // viewを角丸にする
        _view.layer.cornerRadius = _view.frame.size.width / 2.f;
        _view.layer.masksToBounds = YES;
        // 枠線色
        _view.layer.borderColor = [UIColor colorWithRed:230.f/255.f green:230.f/255.f blue:230.f/255.f alpha:1.f].CGColor;
        // 枠線太さ
        _view.layer.borderWidth = 3.f;

これまで偶然動いていただけなのか、XCODE8では表示されなくなる場合があるようです。
その場合、下記対応を入れれば表示されました。

  • viewdidload等に処理を記述している場合、処理をviewDidLayoutSubviewsに記述する。
  • もしくは下記のように、処理最初にlayoutIfNeededを呼ぶ。
        // xcode8対応
        [_view layoutIfNeeded];
        // viewを角丸にする
        _view.layer.cornerRadius = _view.frame.size.width / 2.f;
        _view.layer.masksToBounds = YES;
        // 枠線色
        _view.layer.borderColor = [UIColor colorWithRed:230.f/255.f green:230.f/255.f blue:230.f/255.f alpha:1.f].CGColor;
        // 枠線太さ
        _view.layer.borderWidth = 3.f;
9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9