First, it is strange,but view is not technically a subview of the navigation view. I forget what it is called, maybe content, or detail. Mostly semantics.
Anyway, the way that navigation views work is that the view that you pass into the navview constructor, or push onto the nav view, gets resized to the navigation view size ( maybe with some offsets to account for the header, but that might be device dependent). The view's rightbuttons and leftbuttons get displayed in the navigation view at the appropriate place, and the title is shown in the nav view title spot.
If your layout code isn't working, or you want larger margin, etc,you can have another container view that goes inside the view you are pushing. Then you have complete control over the size of that inner view (or you can use flex to allow it to scale, but maybe with a proportional border).
That would allow you to layout the view that fits inside the nav view. Note that a layout method would also let you detect that the view size has changed, and then rearrange the bits inside the view to fit.
If you are asking how you change the size of the outer nav view, on iphone, I don't think you have control over things presented as sheet. On ipad, you could set the size of the navigation view before you present, which would set size of the content to fit.
If you are wanting the next_view to appear as a sort of floating "overlay" on top of the original view, then navigation view is not what you want. Instead, you likely want what is called a "shield" view - a semi transparent view that acts as a container for a smaller overlay window. A search for pythonista shield view should lead you to a class by polymerchm from some years back.