Articles of cocoa touch

在接收applicationDidEnterBackground时退出应用程序而不是输入背景

我想知道在用户按下Home按钮后是否可以完全退出程序,而不是进入后台运行模式。 谢谢。

没有的UITableView仍然有效!

我已经读过,每当你使用UITableView你应该将你的控制器类符合协议(如果你没有使用量身定制的UITableViewController类)。 所以我的超类是UIViewController但我忘了在.h文件中添加声明。 出于某种原因,该表仍然有效。 它从类中获取数据,单击单元格按预期工作。 有人可以向我解释一下 – 为什么它有效?

UINavigationBar右键没有显示出来

我通过通知使用以下function在我的UINavigationBar上加载一个右键,即使我可以找出按钮并validation它已分配,但它没有出现……任何想法? 编辑2011年4月6日,下午2:42 所以,有趣的东西……宽度总是报告为0.0 … – (void)showRightBarButton:(id)sender { NSLog(@”Showing button”); UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(showPI:)]; [button setTitle:@”This Button”]; self.navigationItem.rightBarButtonItem = button; //[[self.navigationItem rightBarButtonItem] setWidth:50]; NSLog(@”Button width is %f.”, self.navigationItem.rightBarButtonItem.width); [button release]; }

在播放新声音之前等待另一声音完成

我正在开发一个播放声音的iPhone应用程序。 如果声音已经播放,我不想中断或播放另一种声音,无论它是从哪个“产生”播放。 我的代码如下: if(distance <= 10) { NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"wav"]; SystemSoundID soundID; AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath: soundPath], &soundID); AudioServicesPlaySystemSound(soundID); } 简单地说,如果一个人已经在玩,我不想播放新的声音。 如果已经播放,我不想排队播放另一个声音。 这可能吗?

动画UITableViewCell ContentView在进入编辑模式时淡出

我在iPhone Mail.app和SMS.app应用程序中注意到了这个function,但我不确定如何自己实现它。 在标准的UITableView中,当用户点击“编辑”按钮并且删除按钮移动到位时,当内容视图向右滑动时,它们会执行快速淡入淡出过渡,其中它们被更薄的自身版本替换(对于帐户)删除按钮占用的空间)。 我最初认为这是通过在启用编辑模式时调用以下方法来完成的: [self.tableView reloadRowsAtIndexPaths: [tableView indexPathsForVisibleRows] withRowAnimation: UITableViewRowAnimationFade]; 然而,这可能是正确的,因为它也淡化了删除按钮本身的转换以及单元格所具有的任何附件视图(足以说明,它看起来很奇怪)。 我想知道,当表格进入编辑模式时,如何强制内容视图重绘自身,然后将新绘制的版本淡化旧版本? 更新:感谢Caleb的回答,这是最后一段代码,让我能够得到我以后的内容: 我的最终解决方案是inheritanceUITableViewCell,然后将以下代码应用于setEditing访问器: -(void) setEditing: (BOOL)editing animated: (BOOL)animated { [super setEditing: editing animated: animated]; CATransition *animation = [CATransition animation]; animation.duration = 0.2f; animation.type = kCATransitionFade; //redraw the subviews (and animate) for( UIView *subview in self.contentView.subviews ) { [subview.layer addAnimation: animation forKey: @”editingFade”]; [subview setNeedsDisplay]; […]

根据currentLocale的NSDateformatter setDateFormat

我很生气,可能是一个愚蠢的问题。 我有3个字符串:年,月和日。 我需要基于currentLocale以正确的格式设置日期,所以如果currentLocale localeIdentifier是en_US,我的dateFormat应该是:MMM / dd / yyyy 如果它是fr_FR,则dateFormat应为dd / MMM / yyyy 我不认为这样做的唯一方法是获取currentLocale localeIdentifier,然后以一堆if开头。 提前致谢。 马克斯

UIFont fontWithName:限于每个家庭加载2个变种

这个问题与UILabel极为相似,自定义字体显示*错误*自定义字体 ,但我需要同时使用此系列中的三种字体。 我正在使用Myriad Pro,就像那个问题一样,但我需要使用Bold,Semibold和Regular。 目前,当我尝试通过定义为: #define MYRIAD_BOLD(x) [UIFont fontWithName:@”MyriadPro-Bold” size:(x)] ..给了我Semibold。 如果我从plist条目中删除“由应用程序提供的字体”中的Semibold(对于上面链接的类似问题的“答案”),正确返回Bold,但(显然)Semibold不再可用。 关于为什么我(看似)一次限制为两个自定义字体的任何想法? (来自同一个家庭,至少?) 顺便说一下,这是[UIFont fontNamesForFamilyName:@”Myriad Pro”]的NSLog输出: Myriad Pro font names: ( “MyriadPro-Semibold”, “MyriadPro-Regular”, “MyriadPro-Bold” ) 谢谢!

获取URL字符串的域名部分?

我有一个带URL的NSString,这样: http://someurl.com/something 我怎么才能获得someurl.com ? 我已经尝试过substringToIndex没有运气:( 提前致谢 :)

iOS:按钮的非方形命中区域

我需要制作一些彼此重叠的三角形按钮。 虽然UIButtons可以将透明图像作为背景,而UIControl可以具有自定义视图,但这些视图的命中区域始终是方形的。 如何为我的按钮创建一个三角形的hitarea? 我来自FLASH背景,所以我通常会为我的视图创建一个hitarea,但我不相信我能在Cocoa中做到这一点。 有小费吗?

iBook页面翻转过渡

我正在尝试重新创建iBook,就像在横向模式下转换为pdf阅读器应用程序的页面一样。 我只需要动画,而不是像iBook app那样的触控处理; 用户通过简单的滑动即可翻页。 我尝试了不同的示例代码,包括Leaves,但我找不到任何简单的东西。 任何人都可以帮助我创建这个简单的动画,还是有一种简单的方法来重新创建iBook过渡?