我正在编写一个 iPhone 应用程序(这将是我的第一个 ios 应用程序),它有大约 50 个屏幕,每个屏幕都有相同的背景 - 其中背景是一个覆盖整个屏幕空间的图像和另一个图像顶部作为横幅。
每个屏幕都会有一些文本以及出现在横幅图像下方的 0、1、2 或 3 个按钮。
将它们放在一起的最佳设计是什么?
我能想到的选项是(在每个选项中,我都计划有一个根 Controller ,负责根据需要显示每个 View )。 1) 有 50 个独立的屏幕作为 xib(和关联的 View Controller ),每个屏幕都包含两个背景图像以及每个特定屏幕需要的许多按钮。
2) 有 4 个父类(super class)作为 xibs -(代表无按钮、1 个按钮、2 个按钮、3 个按钮)并且每个父类(super class)都包含背景图像和尽可能多的按钮。然后有 50 个子类,它们只是使用父类(super class)实例变量 outlets 适本地设置文本和按钮内容。
3) 让根 Controller 有一个 View ,其中包含永久存在的两个背景图像,并且 50 个 View 中的每一个都在其顶部显示其文本和按钮。
4)(如果可能的话,我需要检查一个窗口是否可以有图像)。与 3 相同,除了根 Controller 没有 View ,主窗口显示背景图像,每个类在其顶部显示其文本和按钮。因此,每个 View Controller 都必须使用代码加载和显示文本和按钮对象(在这种情况下,为它们设置 xib 没有多大意义)。
还有其他解决方案吗?其中之一是“最佳”解决方案吗?
如果我选择 3,是否无法在 xib 中定义位置文本和按钮? (因为为了这样做,他们需要一个父 View 以便将它们定位在界面构建器中,但如果是这种情况,那么在绘制 View 时背景将不可见)。
如果 4 是可能的,那么根 Controller 没有 View ,因此它是否仍然需要从 UIViewController 派生,还是可以简单地从 NSObject 派生?
我认为目前我倾向于选项 2),因为这样我可以将所有 View 设计为可视化的 xib,但只有 4 个。除非有更好更优雅的解决方案。
TIA
最佳答案
您可以做的是一个带有所有按钮的 XIB,然后您可以相应地设置然后隐藏。虽然它会把你绑起来。 2) 选项更灵活。 3)也可以。你可以有一个 rootViewController,只是用来保存图像,然后你可以这样:
[rootViewController.spaceForMyChildView addSubview: myNewViewController.view];
“spaceForMyChildView”将是一个包含您的 subview 的 View 。
我可能会在 2) 和 3) 之间进行融合。
关于iphone - 具有多个(~50)屏幕的 iPhone 应用程序的设计选项,每个屏幕都具有相同的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6810364/
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl
我有多个ActiveRecord子类Item的实例数组,我需要根据最早的事件循环打印。在这种情况下,我需要打印付款和维护日期,如下所示:ItemAmaintenancerequiredin5daysItemBpaymentrequiredin6daysItemApaymentrequiredin7daysItemBmaintenancerequiredin8days我目前有两个查询,用于查找maintenance和payment项目(非排他性查询),并输出如下内容:paymentrequiredin...maintenancerequiredin...有什么方法可以改善上述(丑陋的)代
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何
我想用ruby编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r