这是方案
创建新项目选项卡式应用程序。添加新的控制器,带有XIB文件的TestViewController,在XIB文件中添加一个带有文本“TestViewControllerButton”的按钮。
如果我在FirstViewController中创建一个按钮,并添加一个动作来转到TestViewController,则会替换XIB文件中的按钮。
TestViewController* vc = [[TestViewController alloc] init];
[self presentViewController:vc animated:YES completion:nil];
问题是当我将TestViewController添加到选项卡控制器(索引2,从0开始)时,它不会显示XIB(我的意思是,该按钮不会显示)。
这是我的步骤。我在Tab Controller中添加UIViewController,然后在Identity Inspector中将类更改为TestViewController。然后将Tab Bar Item添加到TestViewController并将其链接到Tab Bar Controller,因此当单击最后一个选项卡时,它会链接到TestViewController。但问题是,XIB中的按钮没有显示(我在TestViewController.xib中添加了按钮)。
是的,当然我可以直接在我的TestViewController的Main.storyboard中添加按钮,但我的想法是想要在TestViewController XIB中管理UI,而main.storyboard只是在TestViewController图像中加载视图。
好的,我添加了一些截图以便理解。当我以编程方式运行时,此屏幕运行良好,在UIViewController中运行(上面的代码 - self presentViewController:vc animated:YES completion:nil)。
从Tab
运行时
我认为设置已经正确(因为它在UIViewController中运行良好)
已将文件所有者设置为TestViewController
已经绑定了插座
谢谢!
答案 0 :(得分:1)
我认为您正在使用尺寸推断的ViewController,在属性检查器中将其更改为iPhone 4英寸(模拟指标 - >尺寸并根据该尺寸设置按钮框架。
希望这有帮助:)