Tag: cocoa

你如何设置你的Cocoa应用程序作为默认的Web浏览器?

你如何设置你的Cocoa应用程序作为默认的Web浏览器? 我想创build一个默认启动的应用程序,当用户点击其他应用程序(Mail,iChat等)中的HTTP或HTTPS链接时。

实施30天的计时试验

问题的独立Mac开发人员在那里: 我如何以非邪恶的方式实施30天的计时? 在首选项中添加一个计数器不是一个选项,因为一个月擦一次prefs对普通用户来说不是问题。 把计数器放在隐藏文件的地方听起来有点狡猾 – 作为一个用户,我讨厌当应用程序洒我的硬盘随机文件。 有任何想法吗?

如何将NSImage另存为新文件

我怎样才能保存NSImage作为一个新的文件(PNG,JPG,…)在一个特定的目录?

如何在UIScrollView缩放后重置?

我有一个在UIScrollView中绘制的graphics。 它是一个使用CATiledLayer的自定义子类作为其图层的大型UIView 。 当我放大和缩小UIScrollView ,我希望graphicsdynamicresize,就像从viewForZoomingInScrollView返回graphicsviewForZoomingInScrollView 。 但是,graphics会以新的缩放级别重新绘制自己,我想将变换比例重置为1×1,以便下次用户放大时,变换将从当前视图开始。 如果我将scrollViewDidEndZooming的转换重置为Identity,它将在模拟器中工作,但会在设备上引发EXC_BAD_ACCSES 。 这甚至不能完全在模拟器上解决问题,因为下次用户放大时,变换将自己重置为它所处的任何缩放级别,因此,例如,如果放大到2倍,它突然在4倍。 当我完成缩放时,它会以正确的比例结束,但缩放的实际行为看起来很糟糕。 所以首先:如何让graphics在缩放之后以1×1的标准比例重绘自己,以及如何在整个过程中进行平滑缩放? 编辑:新的发现错误似乎是“ [CALayer retainCount]: message sent to deallocated instance ” 我从来没有自己释放任何层。 之前,我甚至没有删除任何意见或任何东西。 这个错误是在缩放和旋转时引发的。 如果我在旋转之前删除对象并在之后重新添加它,则不会抛出exception。 这不是缩放的选项。

在prepareForSegue方法中防止segue?

是否有可能取消prepareForSegue:方法中的segue? 我想在segue之前执行一些检查,如果条件不成立(在这种情况下,如果某个UITextField为空),则显示错误消息而不是执行segue。

UITableView行animation持续时间和完成callback

有没有办法指定UITableView行animation的持续时间,或者animation完成时获得callback? 我想要做的是在animation完成后闪动滚动指示器。 之前做闪光灯什么也不做。 到目前为止,我的解决方法是延迟半秒(这似乎是默认的animation持续时间),即: [self.tableView insertRowsAtIndexPaths:newRows withRowAnimation:UITableViewRowAnimationFade]; [self.tableView performSelector:@selector(flashScrollIndicators) withObject:nil afterDelay:0.5];

观察一个NSMutableArray插入/删除

一个类有一个types为NSMutableArray的属性(和实例@property )和合成访问器(通过@property )。 如果你观察这个数组,使用: [myObj addObserver:self forKeyPath:@"theArray" options:0 context:NULL]; 然后像这样在数组中插入一个对象: [myObj.theArray addObject:NSString.string]; 一个observeValueForKeyPath …通知不会被发送。 但是,以下内容会发送正确的通知: [[myObj mutableArrayValueForKey:@"theArray"] addObject:NSString.string]; 这是因为mutableArrayValueForKey返回一个代理对象,负责通知观察者。 但是,不应该合成访问器自动返回这样一个代理对象? 什么是正确的方法来解决这个问题 – 我应该写一个自定义访问器,只是调用[super mutableArrayValueForKey…] ?

在现有的圆上曲线文本

对于我正在build设的应用程序,我画了2个圈子。 一个比另一个大一点。 我想在这些行之间曲线文本,为我正在build立一个圆形的菜单。 我阅读了大多数关于弯曲文本的东西,你必须将文本分解成字符,并且以正确的angular度(通过旋转你正在绘制的上下文)绘制每个字符。 我无法将自己的头围绕在如何为我的angular色find正确的angular度和位置上。 我包括了目前菜单的样子。 只有我添加的文本从UIImageView中的图像加载。 我希望有人能在某些方面给我一些起点,说明如何在白圈中画出文字。 编辑:好的,我目前在这一点上: 我通过使用以下代码完成: – (UIImage*) createMenuRingWithFrame:(CGRect)frame { CGRect imageSize = CGRectMake(0,0,300,300); float perSectionDegrees = 360 / [sections count]; float totalRotation = 90; char* fontName = (char*)[self.menuItemsFont.fontName cStringUsingEncoding:NSASCIIStringEncoding]; CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); CGContextRef context = CGBitmapContextCreate(NULL, imageSize.size.width, imageSize.size.height, 8, 4 * imageSize.size.width, colorSpace, kCGImageAlphaPremultipliedFirst); CGContextSetTextMatrix(context, CGAffineTransformIdentity); CGContextSelectFont(context, fontName, 18, […]

在Cocoa中生成一个随机的字母数字string

我想调用一个方法,传递它的长度,并生成一个随机的字母数字string。 有没有实用程序库,可能有一堆这些types的function?

如何在编辑UITextField时closures键盘

我知道我需要告诉我的UITextField在我想要拒绝键盘时退出第一响应者,但我不知道如何知道用户何时按下了键盘上的“完成”键。 有没有可以注意的通知?