iPhone应用程序的设计选项有许多(~50)个屏幕,每个屏幕都有相同的背景
我正在编写一个iPhone应用程序(这将是我的第一个ios应用程序),它有大约50个屏幕,每个屏幕都有相同的背景——背景是一个覆盖整个屏幕的图像,顶部是另一个作为横幅的图像 每个屏幕都会有一些文本以及横幅图像下方出现的0、1、2或3个按钮 什么是最好的设计,把这些放在一起 我能想到的选项是(在每种情况下,我都计划有一个根控制器,负责适当地显示每个视图)。 1) 有50个单独的屏幕作为XIB(和相关的视图控制器),每个屏幕包含两个背景图像以及每个特定屏幕需要的按钮 2) 将4个超类作为XIB-(表示没有按钮、1个按钮、2个按钮、3个按钮),并使每个超类包含背景图像和尽可能多的按钮(视情况而定)。然后有50个子类,只需使用superclasses实例变量outlets适当地设置文本和按钮内容 3) 让根控制器有一个视图,其中包含永久存在的两个背景图像,50个视图中的每个视图都会在其顶部显示其文本和按钮 4) (如果这是可能的,我需要检查一个窗口是否可以有图像)。与3相同,除了根控制器没有视图外,主窗口显示背景图像,每个类在其顶部显示其文本和按钮。因此,每个视图控制器都必须使用代码加载和显示文本和按钮对象(在这种情况下,为它们提供XIB没有多大意义) 还有别的解决办法吗?其中一个是“最佳”解决方案吗 如果我使用3,是否不可能在xib中定义位置文本和按钮?(因为要这样做,他们需要一个父视图才能在interface builder中定位,但如果是这样,那么绘制视图时背景将不可见) 如果4是可能的,那么根控制器没有视图,因此它仍然需要从UIViewController派生,还是仅仅从NSObject派生 我认为目前我倾向于选项2),因为这样我可以将所有视图设计为可视的XIB,但只有4个视图。除非有更好更优雅的解决方案iPhone应用程序的设计选项有许多(~50)个屏幕,每个屏幕都有相同的背景,iphone,ios,Iphone,Ios,我正在编写一个iPhone应用程序(这将是我的第一个ios应用程序),它有大约50个屏幕,每个屏幕都有相同的背景——背景是一个覆盖整个屏幕的图像,顶部是另一个作为横幅的图像 每个屏幕都会有一些文本以及横幅图像下方出现的0、1、2或3个按钮 什么是最好的设计,把这些放在一起 我能想到的选项是(在每种情况下,我都计划有一个根控制器,负责适当地显示每个视图)。 1) 有50个单独的屏幕作为XIB(和相关的视图控制器),每个屏幕包含两个背景图像以及每个特定屏幕需要的按钮 2) 将4个超类作为XIB-(表
TIA您可以做的是一个包含所有按钮的XIB,然后您可以相应地设置然后隐藏。虽然它会把你绑起来。2)选项更灵活。这个也可以。您可以有一个rootViewController,只需保存图像,然后您可以像这样:
[rootViewController.spaceForMyChildView addSubview: myNewViewController.view];
“spaceForMyChildView”将是一个包含您的子视图的视图
我可能会在2)和3)之间进行融合。UIWindow继承自UIView,因此可以在其中包含任何内容。所以(4)是可行的,尽管如果你想支持任何类型的视图旋转,你开始陷入棘手的境地 我认为倒排(2)是最简单的事情——有一个超类,在
viewDidLoad
上以编程方式添加背景和顶部横幅。让您的特定控制器从中继承,并以图形方式设计它们以包含您想要的任何内容,注意随后将添加图像和横幅
也就是说,如果你的视图真的像一个单一的文本区域和最多三个按钮一样简单,并且总是有固定的位置,那么像Jacky Boy建议的那样,从数据源重新填充字段的单个视图可能是最聪明的事情。有了3个,你仍然可以使用XIBs,因为父视图可以是透明的。透明不是由该视图的子视图继承的,所以它们按钮也可以是透明的。我尝试了上面的实验,但什么也没显示出来。[self.childView addSubview:childView.view]执行任何操作,([self.view addSubview:childView.view]显示子视图,但背景消失)。我将childView添加为UIView*。我是否遗漏了某些内容或设置不正确?您需要将“spaceForMyChildView”创建为IBOulet。。。然后连接它。此外,您需要将新ViewController的背景设置为ClearColor,以便查看rootviewController的背景。谢谢。以编程方式加载背景/横幅是否重要?换言之,如果在锡伯银行中存在这种情况,它会不起作用吗?为什么?如果继承类都有一个带有子按钮等的xib视图,那么当显示该视图时,如何使其不隐藏背景图像?