我现在添加了一项悬赏,奖励给任何可以拍摄下面三张图片并生成 UITableView 的工作实现的人,该实现模仿了 Game Center 中的外观和感觉在游戏选项卡上。该实现必须使用非分组 TableView ,但要演示四个单元格变体(顶部、中间、底部和单个)中的每一个
谁能阐明 Apple 如何实现 Games 选项卡上出现的 Game Center tableview 单元格?
我特别指的是他们如何绘制边框,以及他们如何使边框与底层的绿色噪点纹理融合。
我已经尝试使用 Quartz 2D 绘制自己的边框,但似乎无法达到相同的质量,而且我认为使用具有低 alpha 分量的颜色进行绘制会实现纹理混合,但这似乎并没有是这样的。
如果任何人都可以阐明,甚至分享任何适当的代码,我将非常感激。
编辑:
我注意到,tableview 不符合通常的行为。在普通的分组表格 View 中,背景是静止的,单元格在其上滚动,但在 Game Center(特别是我关注的表格 View )中,背景随单元格一起滚动。这让我相信 tableview 根本没有分组,这只是混合了 Quartz 2D 绘图和图像的错觉。
编辑:
所以我四处搜索了一下,看起来 Apple 通过使用标准的 tableviewcell、无缝纹理、边框纹理和单元格 mask 来创建分组 tableview 的错觉。所有这些结合起来消除了这种错觉,并支持我关于为什么背景会随着单元格一起滚动的推理(到目前为止我一直无法复制的东西)。
Game Center 单元格背景纹理(无缝)
游戏中心单元格边框纹理
游戏中心单元格掩码
现在我只需要弄清楚他们是如何将所有这些结合在一起来实现这种幻觉的。任何帮助将不胜感激。
实际的 Game Center 表与下面建议的@psycho 解决方案之间的差异还有一段距离;单元格宽度太窄,边框太细,角半径太大。
最佳答案
他们正在删除所有默认绘图/边框,并简单地使用自定义单元格和他们自己的图像。
关于您的编辑:这是不正确的。我也实现了这种行为。 ,之前具体是怎么做到的我记不太清了,好像是直接在table view上设置背景图,而不是后面的view。(看下面代码)
编辑:
这是我用来模拟单元格“拖动”背景部分的行为的代码:
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView setRowHeight:65.0];
[self.tableView setBackgroundColor:[UIColor clearColor]];
[self.tableView setBackgroundView:nil];
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"metal_settings.png"]]];
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
[self setContentSizeForViewInPopover:CGSizeMake(300, 300)];
}
我已将其放入 UITableViewController 子类中,并在多个实例中继承自该子类。如果仔细观察,细胞外的“颜色”/纹理会随着细胞移动。
关于iphone - 像表格 View 单元格一样绘制游戏中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6467732/
我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何
我想要做的是有2个不同的Controller,client和test_client。客户端Controller已经构建,我想创建一个test_clientController,我可以使用它来玩弄客户端的UI并根据需要进行调整。我主要是想绕过我在客户端中内置的验证及其对加载数据的管理Controller的依赖。所以我希望test_clientController加载示例数据集,然后呈现客户端Controller的索引View,以便我可以调整客户端UI。就是这样。我在test_clients索引方法中试过这个:classTestClientdefindexrender:template=>
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
我是rails的新手,想在form字段上应用验证。myviewsnew.html.erb.....模拟.rbclassSimulation{:in=>1..25,:message=>'Therowmustbebetween1and25'}end模拟Controller.rbclassSimulationsController我想检查模型类中row字段的整数范围,如果不在范围内则返回错误信息。我可以检查上面代码的范围,但无法返回错误消息提前致谢 最佳答案 关键是您使用的是模型表单,一种显示ActiveRecord模型实例属性的表单。c
我正在尝试用Prawn生成PDF。在我的PDF模板中,我有带单元格的表格。在其中一个单元格中,我有一个电子邮件地址:cell_email=pdf.make_cell(:content=>booking.user_email,:border_width=>0)我想让电子邮件链接到“mailto”链接。我知道我可以这样链接:pdf.formatted_text([{:text=>booking.user_email,:link=>"mailto:#{booking.user_email}"}])但是将这两行组合起来(将格式化文本作为内容)不起作用:cell_email=pdf.make_c
目前,Itembelongs_toCompany和has_manyItemVariants。我正在尝试使用嵌套的fields_for通过Item表单添加ItemVariant字段,但是使用:item_variants不显示该表单。只有当我使用单数时才会显示。我检查了我的关联,它们似乎是正确的,这可能与嵌套在公司下的项目有关,还是我遗漏了其他东西?提前致谢。注意:下面的代码片段中省略了不相关的代码。编辑:不知道这是否相关,但我正在使用CanCan进行身份验证。routes.rbresources:companiesdoresources:itemsenditem.rbclassItemi
我正在尝试将一个简单的CSV文件读入HTML表格以在浏览器中显示,但我遇到了麻烦。这就是我正在尝试的:Controller:defshow@csv=CSV.open("file.csv",:headers=>true)end查看:输出:NameStartDateEndDateQuantityPostalCode基本上我只获取标题,而不会读取和呈现CSV正文。 最佳答案 这最终成为最终解决方案:Controller:defshow#OpenaCSVfile,andthenreaditintoaCSV::Tableobjectforda
除了可访问性标准不鼓励使用这一事实指向当前页面的链接,我应该怎么做重构以下View代码?#navigation%ul.tabbed-ifcurrent_page?(new_profile_path)%li{:class=>"current_page_item"}=link_tot("new_profile"),new_profile_path-else%li=link_tot("new_profile"),new_profile_path-ifcurrent_page?(profiles_path)%li{:class=>"current_page_item"}=link_tot("p
我对单元测试还是比较陌生。我用Ruby编写了一个类,它接受一个文件,在该文件中搜索给定的Regex模式,替换它,然后将更改保存回文件。我希望能够为此方法编写单元测试,但我不知道我将如何去做。有人能告诉我我们如何对处理文件i/o的方法进行单元测试吗? 最佳答案 看看这个HowdoIunit-testsavingfiletothedisk?基本上这个想法是一样的,文件系统是你的类的依赖。所以引入一个可以在你的单元测试中模拟的角色/接口(interface)(这样你在单元测试时就没有依赖性);角色中的方法应该是您从文件系统中需要的所有东西
我想用Nokogiri解析HTML页面。页面的一部分有一个表,它没有使用任何特定的ID。是否可以提取如下内容:Today,3,455,34Today,1,1300,3664Today,10,100000,3444,Yesterday,3454,5656,3Yesterday,3545,1000,10Yesterday,3411,36223,15来自这个HTML:TodayYesterdayQntySizeLengthLengthSizeQnty345534345456563113003664354510001010100000344434113622315