Вы можете обновить frame.origin.y на столько же, сколько и на высоту.
, если limitHeightSize положителен;
customView = CGRect(x: self.view.frame.origin.x, y: self.view.frame.origin.y + reduceHeightSize , width: self.view.frame.width , height: self.view.frame.height - reduceHeightSize)
, если вы храните его как отрицательный lowerHeightSize;
customView = CGRect(x: self.view.frame.origin.x, y: self.view.frame.origin.y - reduceHeightSize , width: self.view.frame.width , height: self.view.frame.height + reduceHeightSize)
Лучше оставить размер, а не направление.