我的故事板中有一个ViewController(searchListViewController)。此ViewController嵌入在navigationController中。当方向发生变化时,故事板中的ViewController会正确旋转。
我有一个包含UIView(CustomAlertView)的XIB。我想从我的searchListViewController中提供这个CustomAlertView。
为此,我在searchListViewController类中包含了以下代码。
searchListViewController.m:
-(void)loadCustomAlertView
{
NSArray *allviews = [[NSBundle mainBundle] loadNibNamed:@"CustomAlertView" owner:self options:nil];
CustomAlertView *customAlertView_Obj = allviews[0];
[self.navigationController.view addSubview:customAlertView_Obj];
}
问题是:父导航控制器正确旋转,但当方向改变时,子节点“CustomAlertView”不会旋转。我在这段代码中做错了吗?
无论如何都要以编程方式处理XIB文件的旋转?
我想对Portrait和Landscape使用相同的CustomAlertView XIB。有可能吗?
答案 0 :(得分:1)
是,您可以对两个方向使用相同的xib文件。
使用自动调整大小/自动重新定位约束(在“大小检查器”选项卡中)和自动布局(iOS6及更高版本),定义对象的属性,以便在屏幕方向更改时,父视图中的所有视图得到对齐和/或重新定位,调整大小。
您可以通过更改“属性检查器标签”中的方向来查看视图在不同方向的显示方式。
答案 1 :(得分:1)
只需在addSubview:customAlertView_Obj
上执行searchListViewController
,而不是在navigationController上添加。
希望,它会起作用。