This should probably use the view `bounds` instead of `frame`