I have a bunch of buttons on the screen which are positioned intuitively visually but are not read in an intuitive order by VoiceOver. This is because certain buttons like U
You can change the order setting the view's accessibilityElements array:
self.view.accessibilityElements = @[self.view1, self.view2, self.view3, self.view4];
or
self.anotherView.accessibilityElements = @[self.label1, self.txtView1, self.label2, self.txtView2];
If you need to set the interaction enabled programmatically:
[self.view1 setUserInteractionEnabled:YES];
If the view is hidden the voice over will not pass through it.