我试图达到以下效果:
A UICollectionView
显示父类型对象的单元格网格,例如相册.当我点击其中一个项目时,我想将该元素滚动到屏幕顶部并从中打开一个类似Springboard的文件夹.在该文件夹区域内,应显示另一个集合,其中包括详细项目,即该相册的单张照片.点击剩余的"父"视图会再次关闭该文件夹.看到这个架构:
到目前为止我所做的是专辑的常规集合视图.当我选择一个时,它会滚动到所选项目到顶部,然后用于JWFolders
在该位置打开一个空文件夹.一旦显示,我触发周围UINavigationController
以推送我的第二个视图控制器与详细项目.那个是布局的,所以用户看起来好像它仍然是相同的视图.
这种方法有几个问题,我想知道如何更好地做到这一点:
JWFolders截取屏幕截图并向上/向下动画两半以实现打开效果.这没关系,但在iPad3上相当慢,因为它移动了很多像素而且iPad3的GPU不能胜任这项任务.
第二个视图需要像素完美才能匹配第一个视图.这很可能会意外地破裂.
我对视图控制器转换可能的动画有限.UINavigationController
右边的默认推送不合适.我重写它来做一个交叉溶解,但它仍然远非理想.
我想指出如何以可维护的方式处理这个问题,这不需要对框架的设计要做太多创造性的黑客攻击.我可能会遗漏一些明显的东西,所以我们非常感谢您对示例或一般建议的指示.
更新:
我改变了一点方法.现在我使用一个容器视图控制器,它有两个嵌入式集合视图控制器.一个用于"专辑",一个用于"照片"部分在底部.UIImageView
在两者之间的中间使用一个我可以得到向上完成的三角形.从维护的角度来看,这也很好,因为它可以使两个集合完全分开处理,从而简化维护.
该应用程序使用自动布局,因此我可以通过修改约束来更改两个嵌入视图中的每个视图所占用的空间量.这比使用JWFolders的基于屏幕截图的方法更快,并且在iPad3上也能很好地工作.
这几乎让我成为了我想成为的人.剩下的一件事就是让开场动画正确.我想同时滚动相册集合,以便点击的项目到顶部并展开照片集合,三角形指向相册单元格.
我可以通过布局约束以某种方式将下部视图"连接"到该单元格,以便scrollToItemAtIndexPath:atScrollPosition:animated:
调用拖动下部视图打开吗?
我正在使用CocoaPods来安装AFNetworking库.这是我简单的CocoaPods文件:
platform :ios
pod 'FMDB'
pod 'AFNetworking'
Run Code Online (Sandbox Code Playgroud)
My Pods项目和我的主项目是iOS 6部署目标和基础SDK.当我运行pod安装时,我收到以下错误:
Run Code Online (Sandbox Code Playgroud)AFNetworking not compatible with iOS 4.3
更新:
我编辑了我的Podfile到这个:
platform :ios, '6.0'
pod 'FMDB'
pod 'AFNetworking'
Run Code Online (Sandbox Code Playgroud)
现在,当我运行pod安装时,它显示以下内容:
更新spec repo`master'
Cocoapods 0.15.1可用.
使用AFNetworking(1.0)使用FMDB(2.0)生成支持文件
但它从未将AFNetworking pod添加到xCode中的pods项目中.
在PostgreSQL中是否可以在包含多个表的字段的表达式上放置索引.例如,加速查询以下形式的索引:
SELECT *, (table1.x + table2.x) AS z
FROM table1
INNER JOIN table2
ON table1.id = table2.id
ORDER BY z ASC
Run Code Online (Sandbox Code Playgroud) 我试图从DATETIME
SQLite中的字段中提取月份.month(dateField)
不起作用strftime('%m', dateStart)
.
有任何想法吗?
我在我的iOS应用程序中使用适用于iOS 5.0及更高版本的ZBar条形码阅读器.
我使用Camera Interface上的以下代码隐藏了信息按钮.
UIView * infoButton= infoButton = [[[[[reader.view.subviews objectAtIndex:1] subviews] objectAtIndex:0] subviews] objectAtIndex:2];
[infoButton setHidden:YES];
Run Code Online (Sandbox Code Playgroud)
但不知何故,此代码不适用于iOS6.0及更高版本.
我有iPad的PhoneGap-iOS应用程序,用户将获得Logout Popup,如下图所示.
当用户点击Body时,我希望隐藏此弹出窗口.我code
这原生浏览器的工作原理是不工作的iPad Simulator
.
$("body").ClickOrTouch(function (evt) {
if (!(evt.target.id == "launchUsername") {
$('#launchLogout').hide();
}
});
Run Code Online (Sandbox Code Playgroud) 使用属性网格时,如何让它允许我一次为多个对象设置一个属性(当有第二个级别时).如果两个属性具有相同的值,则一切似乎都正常,但如果属性不相等,则propertygrid不会加载子属性(从箭头向右),因此无法设置它们.我创建了以下示例,抱歉代码的长度.
public partial class Form1 : Form
{
public Form1()
{
this.Size = new Size(275, 568);
PropertyGrid grid = new PropertyGrid();
grid.Dock = DockStyle.Fill;
this.Controls.Add(grid);
Control c1 = new Control();
c1.Border.Bottom.Color = Color.Red;
Control c2 = new Control();
c2.Border.Bottom.Color = Color.Red;
Control c3 = new Control();
c3.Border.Bottom.Color = Color.Purple;
//This works as expected
//grid.SelectedObject = c1;
//This works as expected
//grid.SelectedObjects = new object[] { c1, c2 };
//This does not work
grid.SelectedObjects = new object[] { c1, c3 }; …
Run Code Online (Sandbox Code Playgroud) ios ×3
iphone ×2
objective-c ×2
sql ×2
xcode ×2
.net ×1
afnetworking ×1
c# ×1
cocoa-touch ×1
cocoapods ×1
cordova ×1
ios6 ×1
ipad ×1
jquery ×1
postgresql ×1
sqlite ×1
winforms ×1
zbar-sdk ×1