Tag: Objective C

UICollectionViewanimation(插入/删除项目)

我想在插入和/或删除UICollectionViewCell时自定义animation样式。 我需要这个的原因是,默认情况下,我看到插入一个单元格在animation中有一个平滑的淡入淡出,但删除一个单元格有一个移动到左侧的淡出animation的组合。 如果不是一个问题,我会非常高兴。 删除一个单元格后,当我添加新的单元格时它仍然会被重用,并且当它被重用时,它不会添加默认的淡入淡出效果,而是向左移动和淡入的组合。 我不知道为什么我在animation中出现这种不一致。 如果这是一个已知的bug /问题/愚蠢(在我身边),请让我知道如何解决它。 否则,请告诉我如何在单元格被删除时设置自定义animation(或指向我的教程)。 谢谢 UPDATE 通过inheritanceUICollectionViewFlowLayout并添加这行代码来修复奇怪的animation行为 – (UICollectionViewLayoutAttributes *) initialLayoutAttributesForAppearingItemAtIndexPath:(NSIndexPath *)itemIndexPath { return nil; } 而已! 🙂

从UIWebView中的JavaScript发送通知到ObjectiveC

我需要知道在UIWebView的HTML中使用JavaScript来通知Objective-C发生了什么事情? 更准确地说,我在HTML中播放一些JavaScriptanimation,并且需要提醒animation已经结束的Objective-C代码。

NSInteger和NSUInteger在混合的64位/ 32位环境中

我在NSLog / NSAssert等调用中有相当数量的string格式说明符,它们分别使用NSInteger (= int on 32bit)和NSInteger (= int on 32bit) NSUInteger (= unsigned int on 32bit) NSInteger (= int on 32bit) %d和%u 。 当将应用程序转换为64位时,会给出警告(当然),因为%ld %lu对于现在变成long unsigned long和unsigned longtypes是预期的。 简单地转换格式说明符当然会在32位版本中引入反向警告。 所以唯一的解决办法就是使用64位的说明符,而在64位的数据types中,每个地方都会有32位的警告。 但我想知道是否有格式说明符专门为NSInteger和NSUIntegertypes,这将在两个架构上工作,而不铸造?

在UITableView中设置滚动位置

我有一个应用程序,它的作用与iPhone的联系人应用程序的工作方式类似。 当我们添加一个新的联系人用户被引导到一个仅查看联系人信息屏幕。 如果我们从导航栏中select“所有联系人”,用户将被导航到最近添加的联系人所在的所有联系人列表。 我们可以使用以下方法将视图移动到特定的行: [itemsTableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionBottom]; …但它不工作。 我在打电话后立即打电话给他: [tableView reloadData]; 我想我不想在这里调用selectRowAtIndexPath:animated:scrollPosition方法。 但如果不在这里,那么在哪里? 是否有任何委托方法被调用以下方法后? -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

播放audioiOS Objective-C

我试图让我的iOS应用程序中播放audio文件。 这是我现在的代码 NSString *soundFilePath = [NSString stringWithFormat:@"%@/test.m4a", [[NSBundle mainBundle] resourcePath]]; NSLog(@"%@",soundFilePath); NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath]; audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil]; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; [[AVAudioSession sharedInstance] setActive: YES error: nil]; [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; [audioPlayer setVolume:1.0]; audioPlayer.delegate = self; [audioPlayer stop]; [audioPlayer setCurrentTime:0]; [audioPlayer play]; 我正在检查一堆其他职位,但他们通常都做同样的事情。 我没有收到错误,但是我听不到在模拟器或设备上播放的任何audio。 这是我在模拟器上获得的audio文件的path /Users/username/Library/Application Support/iPhone Simulator/5.1/Applications/long-numbered-thing/BookAdventure.app/test.m4a 任何帮助表示赞赏!

禁用方向更改旋转animation

我需要禁用方向更改时播放的animation。 这可能吗? 如果没有,是否有可能加快速度? 只是为了澄清,我不想停止方向改变,只是animation。 我想要立即改变方向

循环背景音乐?

为我的iOS游戏播放背景音乐的最佳方式是什么? 我该怎么做? 让这个音乐文件播放的最佳格式是什么? 这首歌曲会不会乐于在整个游戏中播放,更改视图时不会中断? 我怎样才能循环这个音乐?

iOS捏尺和两个手指同时旋转

这是我的代码: viewDidLoad中: UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinch:)]; [self.canvas addGestureRecognizer:pinch]; pinch.delegate = self; UIRotationGestureRecognizer *twoFingersRotate = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(pinchRotate:)]; [[self canvas] addGestureRecognizer:twoFingersRotate]; twoFingersRotate.delegate = self; 代码捏和旋转: -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; } -(void)pinchRotate:(UIRotationGestureRecognizer*)rotate { SMImage *selectedImage = [DataCenter sharedDataCenter].selectedImage; switch (rotate.state) { case UIGestureRecognizerStateBegan: { selectedImage.referenceTransform = selectedImage.transform; break; } case UIGestureRecognizerStateChanged: […]

如何检查UILabel是否被截断?

我有一个UILabel ,可以是不同的长度取决于我的应用程序是否在iPhone或iPad上以纵向或横向模式运行。 当文本太长而不能显示在一行上,它会截断,我希望用户能够按下它,并获得全文的popup窗口。 如何检查UILabel是否截断了文本? 这甚至有可能吗? 现在我只是根据我在什么模式检查不同的长度,但它不能很好地工作。

在iOS上使用CommonCrypto的PBKDF2

我试图用CommonCrypto生成密钥使用PBKDF2但我似乎无法导入CommonCrypto/CommonKeyDerivation.h ,我只是没有find它的错误。 有任何想法吗? 编辑:我应该提到我已经添加了安全框架,我可以导入所有其他CommonCrypto头。