我试图设置持续时间(使用我将尝试的常规方法)来设置UICollectionView的selectItemAtIndexPath:animated:scrollPosition:方法(或scrollToItemAtIndexPath:atScrollPosition:animated:方法)的动画持续时间.我试过了[UIView setAnimationDuration],我试过将它包装成一个CATransaction.在改变动画持续时间方面,我一直没有成功(尽管我承认我可能在这个逻辑中犯了一个错误).
思考?
更新:
我在这里尝试了很多方法.最接近的解决方案是执行我们通常对UIScrollView动画执行的操作(通过将animated:参数设置为NO并将其包装在UIView动画块中).这适用于scrollview.但是,这个螺丝与UICollectionView创作过程有某些原因.
我在下面使用两种方法包含了一个示例.每种方法都假设您有4个部分,每个部分有4个项目.此外,动画假设您从0,0移动到3,3.
使用默认动画
这里的部分问题肯定与此有关UICollectionView.如果您采用以下方法(使用默认动画选项) - 一切正常:
[self.collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:3 inSection:3]
atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally
animated:YES];
Run Code Online (Sandbox Code Playgroud)
执行此操作时,将创建当前可见单元格与目标单元格之间的每个单元格.我已经包含了登录collectionView:cellForItemAtIndexPath:方法:
2013-05-18 09:33:24.366 DEF-CV-Testing[75463:c07] Transition
Cell Created for Index Path: <NSIndexPath 0x8913f40> 2 indexes [0, 1]
Cell Created for Index Path: <NSIndexPath 0x75112e0> 2 indexes [0, 2]
Cell Created for Index Path: <NSIndexPath 0xfe1a6c0> 2 indexes [0, 3]
Cell Created for Index Path: <NSIndexPath …Run Code Online (Sandbox Code Playgroud) 我正在以NSData对象的形式接收iPhone设备令牌.当我测试我的通知脚本功能时,我只从日志中复制了该对象,并且通知正常.但是,当我现在尝试自动执行此操作时,我将以变量的形式将设备令牌作为ASCII编码的字符串发送
self.deviceToken = [[NSString alloc] initWithData:webDeviceToken encoding:NSASCIIStringEncoding];
Run Code Online (Sandbox Code Playgroud)
我得到的字符串有一些时髦的字符,看起来与此类似 "å-0¾fZÿ÷ʺÎUQüRáqEªfÔk«"
当服务器端脚本将通知发送到该令牌时,我没有收到任何内容.
我需要解码一些东西吗?
Regardz
据我所知,UITableView将调用-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath方法来获取表视图的每个单元格.假设我的数据源是通过互联网获取的,我必须考虑延迟."停止"调用此方法的最佳方法是什么?它应该阻止应用程序中的布尔标志吗?我应该cellForRowAtIndexPath从我的申请表中再次拨打电话吗?
我不确定函数何时被调用,即UITableView"刷新"自身的频率.任何解释都会有所帮助!谢谢!
我正在使用MKMapView并在地图上绘制了几个点.我已经使用了MKCoordinateRegion和MKCoordinateSpan围绕其中一个点启用缩放等 - 但这不是我想要的......
我正在尝试使用类似于Javascript zoom to bounds功能的东西.所以我的所有要点都应该对用户可见.(英国各地将有大约10个点)我想向他们展示所有这些,或者如果他们大多数都在伦敦地区,请放大到那里.
有没有办法以编程方式解决这个问题?
我有以下代码,我想看看是否设置了特定UIImageView(图像).如果没有,那么我想显示一条错误消息.
if (image==nil) {
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"No Image Selected"
delegate:nil
cancelButtonTitle:@"OK"
destructiveButtonTitle:nil
otherButtonTitles:nil];
[actionSheet showInView:[[self view]window]];
[actionSheet autorelease];
}
Run Code Online (Sandbox Code Playgroud) 我正在维护一个NSMutableDictionary包含键和值对的东西.现在我需要对其中的每个值执行一些操作.如何从字典中检索值.
// this is NSMutableDIctionary
NSMutableDictionary *dictobj = [[NSMutableDictionary alloc]init];
// in methodA
-(void)methodA
{
//get the value for each key and peform an operation on it.
}
Run Code Online (Sandbox Code Playgroud)
如何进行?请帮助
我一直在使用UIViewControllers并initWithNibName取得了很大的成功,基本上使用它们作为使用Interface Builder设计视图的便捷方式.不幸的是,我在UIViewController文档中注意到这一行之前构建了一个视图层次结构:
注意:您不应使用视图控制器来管理仅填充其窗口一部分的视图
我的问题是:拥有一个非常简单的NIB,UIView除了默认的First Responder和Owning Object之外,还有一个最简单的加载UIView到我的代码中的方法是什么?
我此时无法loadNibNamed:owner:options:上班,但怀疑答案会以某种方式涉及到它.
我想根据HTML内容设置UIWebview的高度.我得到一个字符串的大小,但由于段落,粗体,不同的字体大小等,没有得到实际的大小.
已UITextView插入UITabBarController(在iPhone上)的标签中.
UITextView很多行.发生了什么?键盘UITextView用光标隐藏了一半.无法编辑文本作为结果.
如何解决所有Apple移动设备(具有不同屏幕分辨率)的问题?非常感谢您的帮助!
我有一个for循环.在那个循环里面,我想填充NSArray一些对象.但我没有看到任何让我这样做的方法.我事先知道有多少物品.我想避免使用NSMutableArray,因为有些人告诉我这是一个非常大的开销和性能制动相比NSArray.
我有这样的事情:
NSArray *returnArray = [[NSArray alloc] init];
for (imageName in imageArray) {
UIImage *image = [UIImage imageNamed:imageName];
//Now, here I'd like to add that image to the array...
}
Run Code Online (Sandbox Code Playgroud)
我查看了文档NSArray,但是如何指定那里有多少元素?或者我必须真的用NSMutableArray它吗?