This is seriously weird. Don’t mix frames and constraints like this if you can possibly avoid it; it’s probably actually your superview’s job to make sure you get sized appropriately.