Tag: Objective C

ios中的图像弯曲变换

我认为我们不能在iOS中进行任何弯曲变换,甚至不能进行3D变换,但是我们可以定义一些变换矩阵并实现它吗? 或者我们如何在OpenGL ES中将图像绘制到球形/圆柱形上下文中? 我想在我的iPhone应用程序中弯曲图像。 并且这种弯曲是可变的,取决于上下文的曲率。 典型的例子是杯子上的照片。 所有的帮助表示赞赏。

如何在启动时实际显示风景启动图像?

我已经在这里阅读并实践了所有内容,一个关于发布图像的Apple文档。 我的应用程序支持自动旋转,根据上面的文档,如果您为iPad指定了横向启动图像,它将在应用程序以横向模式启动时使用。 但我从未见过这在实践中确实发生过。 iPad可以定向横向,但纵向启动图像始终显示。 这是我在iOS 4和5以及几个不同应用程序上的经验。 如何使Landscape启动图像真正出现?

如何以编程方式隐藏UISplitViewController的主要部分?

在我的UISplitViewController中,我希望视图的“主”部分隐藏自己,当用户单击横向按钮时,“细节”部分将占据整个屏幕。 同样,再次单击该按钮会使用户返回标准的分屏视图。 是否可以使用内置类执行此操作?

获取分组UITableView中单元格的宽度以设置节标题宽度

Header说这一切真的我只需要得到表格的单元格宽度,这样我就可以将我的节标题宽度设置为相同+几个像素。 这是我的问题的半伪代码。 CustomHeaderView *headerView = [[CustomHeaderView alloc] init]; headerView.frame.width = [tableView getCellFrameWidth] + 10; 一整天都在苦苦挣扎。 在分组的tableview中获取单元格的宽度似乎应该是一个微不足道的操作,但由于某种原因不是。 虽然说我是IOS编程的初学者,所以如果你们中的一些老兵可以向我解释为什么这不是微不足道的,那将是非常棒的。

CoreData多对多关系(子)查询

我有一个具有以下结构的模型: 文档实体有许多命令 命令属于Document 文档有很多标签 标签有很多文档 这很重要,因为此类关系使用了额外的表 Tag还有一个type属性,它是一个整数,是一个枚举。 我尝试实现的是在CoreData中查询属于Documents的命令,这些命令与TagTypeUnwanted类型的标记没有关系,显然在单个查询中:) 我试图用谓词创建一个子查询: [NSPredicate predicateWithFormat:@”SUBQUERY(document.tags, $tag, $tag.type == %d).@count == 0″, TagTypeUnwanted] 不幸的是,它试图加入管理Document和Tag之间关系的中间表。 所以它导致抱怨它找不到那里的’type’,因为它只有Document id和Tag id,这不是我的预期。 它似乎适用于除了多对多之外的所有其他关系,在这种情况下它会丢失。 [NSPredicate predicateWithFormat:@”NOT ANY document.tags.type == %d”, TagTypeUnwanted] 这个也不起作用,因为它只在SQL中留下NOT,并且它因为与许多类型的标签的关系而在每个被发现的Document中都会被删除。 所以它总会找到至少一个记录,其中type不是类型TagTypeUnwanted。 如果您喜欢更多信息或生成SQL或任何内容,只需将其写在注释中即可。 提前致谢! 看起来像NOT ANY和NONE都没有在Core Data中工作,只要我能够检查它是自2007年以来的一个已知问题,通常你做子查询来解决这个问题,但似乎子查询在这种情况下不能处理很多 – 很多桌子 NOT ANY生成:AND NOT(Tag.type == TagTypeUnwanted)所以它只接近SQL应该看起来的样子

旧版iOS和OS X上的ARC

这是为了澄清我对ARC的概念性理解中的一些疑问。 如果ARC是编译时技术,为什么它不适用于所有版本的iOS和OS X?

如何获取动画CAEmitterLayer / Cell的发射器位置?

我有一个带有CAEmitterCell的动画CAEmitterLayer,动画运行良好 fireEmitter = (CAEmitterLayer*)self.layer; fireEmitter.emitterPosition = CGPointMake(50, 50); fireEmitter.emitterSize = CGSizeMake(10, 10); CAEmitterCell* fire = [CAEmitterCell emitterCell]; … [fire setName:@”fire”]; CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@”emitterPosition”]; anim.path = theBezierPath.CGPath; anim.calculationMode = kCAAnimationCubicPaced; anim.repeatCount = HUGE_VALF; anim.duration = 12.0; [self.layer addAnimation:anim forKey:@”fire”]; 我的bezier路径已关闭,并在四个位置点中形成“8”。 用我的timerFunction我试着每秒获得CAEmitterLayer的位置。 因为我使用 -(CGPoint)getEmitterPosition { return fireEmitter.emitterPosition; } 在发射器类和 CGPoint emitterPosition = [self.ParticleEmitterView getEmitterPosition]; NSLog(@”%f […]

与DCRoundSwitch一起使用时,UIView动画无法正常工作

我在自定义UISwitch DCRoundSwitch的选择器方法中完成了以下动画代码。 if ([[[App.remindersArray objectAtIndex:0] objectAtIndex:3]isEqualToString:@”YES”]){ [firstReminderOnOffButton setSelected:YES]; [swtchDailyReminder setOn:YES]; imgviewDailyReminder.image=[UIImage imageNamed:@”nDailyReminder_On_1.png”]; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.35]; [UIView setAnimationDidStopSelector:@selector(animateFadingIn)]; [UIView setAnimationDelegate:self]; imgviewDailyReminderAnimation.alpha = 1.0; [UIView commitAnimations]; } else { [firstReminderOnOffButton setSelected:NO]; [swtchDailyReminder setOn:NO]; imgviewDailyReminder.image=[UIImage imageNamed:@”xDailyReminder_OFF.png”]; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.35]; [UIView setAnimationDidStopSelector:@selector(animateFadingIn)]; [UIView setAnimationDelegate:self]; imgviewDailyReminderAnimation.alpha = 0.0; [UIView commitAnimations]; } 问题是当从正常的UISwitch调用上面的代码时动画正常工作,但是从DCRoundSwitch调用时不能正常工作。 还试图通过使用UIView块动画来解决….但仍然面临问题。 请指导我。

将数据从一个viewcontroller传递到另一个

我将两个视图控制器子类化。 第一个应该传递数据,NSUrl对象传递给第二个。 .m的第一个: NSURL *temp = [NSURL URLWithString:@”http://example.com”]; UIViewController *presentationsFullScreen_ViewController = [self.storyboard instantiateViewControllerWithIdentifier:@”PresentationsFullScreen_ViewController”]; presentationsFullScreen_ViewController.urlToUse = temp; .h的第二个: #import @interface PresentationsFullScreen_ViewController : UIViewController { NSURL *urlToUse; } @property (nonatomic,retain) NSURL *urlToUse; 它显然不起作用而且没有编译,基本上告诉我,我没有将它子类化,并且在UIViewController上找不到属性urlToUse。 我如何正确子类? 谢谢!

在应用程序购买:“恢复”已购买但未完成的交易

我有一个应用程序,如果他/她注册可自动更新的订阅,为用户注册数据库。 如果用户已完成购买并且应用程序崩溃或服务器处于脱机状态,则用户无法注册数据库。 用户需要以后能够注册数据库。 所以问题是我如何“恢复”一个没有调用它的事务 [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; 如果我重新启动应用程序并打印这个我会得到一个空数组。 [[SKPaymentQueue defaultQueue] transactions];