Tag: cocoa

如何以编程方式退出mac应用程序?

我需要添加一个退出button到我的应用程序从mac菜单栏运行。 如何以编程方式退出mac中的应用程序?

UITableView:用animation删除部分

更新 我已经发布了我的解决scheme,作为下面的答案这个问题。 从我的第一个修订版本采取不同的方法。 原来的问题我以前问过一个关于我认为解决了我的问题的问题: 在删除行时如何处理不可见的行。 (UITableViews) 不过,从UITableView中删除部分时,我现在又遇到了类似的问题。 (当我改变表中的部分/行数时,它们就重新出现了)。 因为我的文章的剪切长度,我失去了你之前,让我清楚地说明问题,你可以阅读尽可能多的,你需要提供一个答案。 问题: 如果批量删除UITableView中的行和部分,则应用程序有时会崩溃。 这取决于表的configuration以及我select删除的行和部分的组合。 日志说我崩溃了,因为它说我没有正确更新数据源和表: Invalid update: invalid number of rows in section 5. The number of rows contained in an existing section after the update (2) must be equal to the number of rows contained in that section before the update (1), plus or minus the […]

将UIDatePicker装入UIActionSheet

我试图得到UIDatePicker与UIButton显示在UIActionSheet。 不幸的是,它被裁剪掉,整个date选取器不可见。 我甚至没有尝试添加UIButton。 任何人都可以build议在整个视图适合正确? 我不知道如何添加适当的尺寸,因为UIActionSheet似乎缺less一个-initWithFrame:types的构造函数。 UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"Date Picker" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:nil]; // Add the picker UIDatePicker *pickerView = [[UIDatePicker alloc] init]; pickerView.datePickerMode = UIDatePickerModeDate; [menu addSubview:pickerView]; [menu showInView:self.view]; [pickerView release]; [menu release]; 我也尝试了类似的东西: UIActionSheet *menu = [[UIActionSheet alloc] initWithFrame:CGRectMake(200.0, 200.0, 100.0f, 100.0f)]; 这些坐标是不现实的,但它们似乎不影响UIActionSheet的位置/大小。

Xcode 4.4在开发者工具中删除了Icon Composer

所以我刚刚升级到最新的和最大的Xcode 4.4,但无法find图标编辑器。 它在Xcode 4.3中的Open Developer Tool菜单项中,但现在我无法在任何地方find它。 苹果忘了包括它吗? 如何在没有它的情况下创build图标? 我也尝试在terminal中使用iconutil,但我得到一个错误,不支持1024×1024。 我正在运行OSX 10.7.4。

如何不在UIButton中拉伸图像

我试图以编程方式创build一个自定义的UITableViewCell,这个单元格的其中一个子视图将会是一个带有图像的button(一个放大镜的简单图像)。 但是,我希望button的图像居中并按比例缩小以适应button,而不是被拉伸以填充整个button。 下面是我的代码,其中self是指我将button放入的自定义UITableViewCell。 self.myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [self.myButton setBackgroundImage:[UIImage imageNamed: @image_name_here"] forState:UIControlStateNormal]; self.myButton.frame = CGRectMake(…//something, something) self.myButton.imageView.contentMode = UIViewContentModeCenter; [self.contentView addSubview:self.mySearchHelpButton]; 现在图像延伸填充整个button,而不是比例缩放,以便它很好地适合。 我也尝试将contentMode设置为UIViewContentModeScaleAspectFill但这似乎并没有改变任何东西。 事实上,不同的内容模式似乎没有改变任何东西。

如何颠倒NSMutableArray中对象的顺序?

我试图达到这样的东西 NSMutableArray *myArray = [NSMutableArray arrayWithObjects:@"A",@"B",@"C", nil]; NSLog(@"Array: %@", myArray); //logs A, B, C. //reverse code here NSLog(@"Array: %@", myArray); //logs C, B, A 代码不是确切的,只是一个演示。 但是你明白了。 任何方式来做到这一点?

在UITableView中更改AVPlayer的playerItem

我有一个UITableView包含滚动时播放的video数量。 当tableView中的单元格被重新使用时,我只为每一行实例化一个AVPlayer 。 当一个单元格被重新使用时,我只需通过调用[self.player replaceCurrentItemWithPlayerItem:newItem];来更改单元格玩家的[self.player replaceCurrentItemWithPlayerItem:newItem]; 。 这是目前正在间接调用tableView:cellForRowAtIndexPath 。 当向下滚动时,重新使用时会有明显的滞后。 通过一个消除的过程,我已经得出结论,滞后是由replaceCurrentItemWithPlayerItem ,甚至开始播放之前造成的。 当删除这一行代码(防止玩家获得一个新的video),滞后消失。 我试图解决它: 我有一个自定义的UITableViewCell播放这些video,我已经创build了一个方法来初始化来自对象的新信息。 IE,在cellForRowAtIndexPath:我调用[cell initializeNewObject:newObject]; 执行以下方法: //In CustomCell.m -(void)initializeNewObject:(CustomObject*)newObject { /*…*/ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ AVPlayerItem *xPlayerItem = [[AVPlayerItem alloc] initWithURL:[NSURL URLWithString:newObject.url]]; AVPlayer *dummy = self.player; [dummy replaceCurrentItemWithPlayerItem:xPlayerItem]; dispatch_async(dispatch_get_main_queue(), ^{ self.player = dummy; playerItem = xPlayerItem; } }/*…*/ } 当运行这个,我得到了相同的结果,如果我完全删除了更换项目的呼叫。 显然,这个函数不能被线程化。 我并不完全确定我对此的期望。 我会想象我需要一个干净的AVPlayer这个工作copy ,但search了一下之后,我发现了几个意见,指出replaceCurrentItemWithPlayerItem: […]

CoreAnimation Layer Backed View和Layer Hosting View有什么区别?

核心animation中的图层支持视图和图层主机视图之间有什么区别? 什么是设置每个步骤,什么时候适合使用这两种types?

UIView – “启用用户交互”的父母,但真正的孩子?

看起来,父视图上的userInteractionEnabled = NO将阻止用户在所有子视图上进行交互。 它是否正确? 有没有办法解决?

isEqualTo和isEqual之间的区别:

这些方法之间的区别究竟是什么?