I can't find where I read it, but I remember coming across something that suggested it is better to access height of
CGFloat height = CGRectGetHeight(self.frame);
CGFloat height = self.frame.size.height;
CGRect structures might store height and width in negative values and
CGRectGetHeight will always return the positive one. In Swift 3.0
CGRect.height property should be used instead of
Regardless of whether the height is stored in the CGRect data structure as a positive or negative number, this function returns the height as if the rectangle were standardized. That is, the result is never a negative number.