繁体   English   中英

iPhone SDK子视图/超级视图定向问题

[英]iphone sdk subview/superview orientation problem

我有iPhone SDK方向问题...

我将一个“持有”视图控制器推到navigationController上。 holdingViewController使用viewDidLoad来显示navigationController导航栏,并向其中添加一个翻页按钮和该翻页按钮的选择器。 然后使用UIViewAnimationTransitionNone添加一个子视图,该子视图显示包含TableView的UIView。 单击翻转按钮后,保持视图控制器将删除已加载的子视图,并替换为另一个子视图(也包含带有表格视图的视图),并使用翻转动画进行变换。 当翻转和改变方向时会出现问题。 尽管如果我在横向模式下进行翻转,虽然翻转和旋转都首先起作用,但是翻转的视图有点像“裁剪”为纵向宽度,尽管实际上以横向显示,旋转却不能解决问题,你必须向后翻转,旋转回到肖像,然后再次翻转。 好像holdingview没有在记录方向的变化,但是我知道这是我已经实现的

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];

在所有3个视图控制器上,我可以看到针对每个视图调用了directionChanged函数。

所有三个viewcontroller都在viewDidLoad中设置自动调整大小

self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; 

而且我还实施了

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
 return YES;
}

是否有人对发生的事情有任何想法,或更重要的是,我可以做些什么来解决它?

非常感谢

添加子视图时,我遇到了类似的问题。 子视图在横向放置时被裁剪。 我必须在添加子视图之前设置它的框架,以便子视图可以正确填充。

这是解决我的问题的代码: [subcontroller.view setFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM