我有一个UICollectionView
,它工作正常,直到我开始滚动.这里有一些照片:
你可以看到它很棒.当我开始滚动(启用分页)时,第一个在屏幕外显示:
这就是问题.原始我的视图有3个视图,我想滚动并仅显示3个视图.但是当它滚动(启用分页)时,它隐藏了第一个视图的一点点,并显示下一页的下一个第一个视图的一点点.
这是一个视频,因为它有点难以解释: 问题的视频(Dropbox)
这是我的UICollectionView
设置图片:
如果有人可以提供帮助,那将会很棒!
application: didReceiveRemoteNotification: fetchCompletionHandler:
Run Code Online (Sandbox Code Playgroud)
不同于
application: didReceiveRemoteNotification:
Run Code Online (Sandbox Code Playgroud)
怎么样?来自文档:
与应用程序:didReceiveRemoteNotification:方法不同,只有在应用程序运行时才会调用该方法,系统会调用此方法,而不管应用程序的状态如何.如果您的应用暂停或未运行,系统会在调用该方法之前唤醒或启动您的应用并将其置于后台运行状态.如果用户从系统显示的警报中打开您的应用程序,系统将再次调用此方法,以便您知道用户选择了哪个通知.
我的斗争是:我想知道用户是否通过从通知中心点击系统显示的警报或从唤醒设备的静默推送通知来调用该方法.目前,据我所知,没有明显的区分方法.
- (BOOL)application: didFinishLaunchingWithOptions:
Run Code Online (Sandbox Code Playgroud)
跟踪上述方法中的launchOptions不是一个解决方案,因为只有在应用程序暂停/未在后台运行时才会调用它.如果它在后台运行则不会被调用.
cocoa-touch apple-push-notifications uiapplicationdelegate ios
因此,viewDidUnload
从iOS 6开始不推荐使用,我现在需要做什么?
删除它,并将其中的所有内容迁移didReceiveMemoryWarning
或保留,并且不执行任何操作didReceiveMemoryWarning
?
什么是自动布局 - 它做了什么,是iOS 5的功能吗?
由于新的iPhone 5有一个更大的屏幕,所以如何优化你的应用程序的选项归结为自动布局.
你能指点我一些关于自动布局的文章,以及我如何使它适应我的项目?
无论如何要入侵UICollectionView来调用willDisplayCell委托方法,何时显示单元格?
我需要这个用于延迟加载,并且我用UITableView做得很好,但官方的UICollectionView没有那种委托方法.
那么,有什么想法吗?谢谢!
我已经实现了用于状态保存的iOS 6 API,它可以工作 - 在我退出应用程序并重新启动几毫秒后,恢复的视图控制器会进入,但随后它被我在启动时显示的主视图控制器所取代.
每次应用程序启动主窗口的根视图时我都会设置,所以这一定是问题所在.
这是我的代码:
- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self commonInitializationLaunching:launchOptions];
return YES;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self commonInitializationLaunching:launchOptions];
return YES;
}
- (void)commonInitializationLaunching:(NSDictionary *)launchOptions
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
static NSString *const kKeychainItemName = @"OAuthGoogleReader";
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.navController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
GTMOAuth2Authentication *auth;
auth = [GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:kKeychainItemName
clientID:kClientID
clientSecret:kClientSecret];
self.window.rootViewController = …
Run Code Online (Sandbox Code Playgroud) 我从网上获取了很多图像,它们都是各种尺寸 - 它们可以是大的,小的等等.
因此,当我在单元格中显示它们时,我可以调整它们的大小,但这是低效的.在SDWebImage下载它们并缓存它们的大小后,重新调整它们的方式会更好,而不是将大图像存储在磁盘上并为每个单元调整大小.
那么我怎么能用SDWebImage做到这一点,或者我必须在课堂上进行一些修改?
我有大约10000个实体对象' Message
'.当我添加一个新的' Message
'我想首先看它是否存在 - 以及它是否只是更新它的数据,但如果它不创建它.
现在,"查找或创建"算法可以将所有Message对象保存objectID
在一个数组中,然后通过它们进行过滤并获取消息existingObjectWithID:error:
这工作正常,但在我的情况下,当我使用existingObjectWithID
:获取'消息'时,然后尝试通过设置'消息'对象的属性并调用保存来设置和保存属性:在它的上下文中它不能正确保存它.有没有人遇到这样的问题?
是否有更有效的方法来制作查找或创建算法?
cocoa-touch core-data objective-c nsmanagedobject nsmanagedobjectcontext
这是我的错误:
*** Assertion failure in -[PSUICollectionView _endItemAnimations], /SourceCache/UIKit_Sim/UIKit-2372/UICollectionView.m:2801
Run Code Online (Sandbox Code Playgroud)
我这样称呼它:
[self.collectionView deleteItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:1 inSection:1]]];
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,有什么想法吗?
我正在使用以下API来获取播放列表中的视频列表:
https://www.youtube.com/feeds/videos.xml?playlist_id=
Run Code Online (Sandbox Code Playgroud)
问题是如果播放列表有超过15个视频,响应只是前15个.我认为有一个分页算法,但是link rel="next"
响应中没有,并且附加?page
到链接的末尾返回404.
谢谢
cocoa-touch ×7
ios ×7
iphone ×6
xcode ×5
autolayout ×1
core-data ×1
ios6 ×1
objective-c ×1
rss ×1
sdwebimage ×1
youtube ×1
youtube-api ×1