Tag: cocoa

MKPinAnnotationView:有三种以上的颜色可用吗?

根据苹果文档,MKPinAnnotationView的针颜色有红色,绿色和紫色。 有什么方法可以得到其他颜色? 我没有发现任何文件。

如何使用NSString drawInRect来居中文本?

我怎样才能绘制一个NSString居中在一个NSRect ? 我已经开始了:(从我的自定义视图的drawRect方法摘录) NSString* theString = … [theString drawInRect:theRect withAttributes:0]; [theString release]; 现在我假设我需要设置一些属性。 我已经通过苹果的Cocoa文档看了一下,但是它有点压倒性,找不到如何将段落样式添加到属性中。 另外,我只能find水平alignment, 垂直alignment呢?

如何调整UISwitch?

我做了一个自定义的UISwitch(从这个职位) 。 但问题是,我的自定义文本有点长。 有没有办法调整交换机的大小? [我尝试setBounds ,没有工作] 编辑: 这是我使用的代码: @interface CustomUISwitch : UISwitch – (void) setLeftLabelText: (NSString *) labelText; – (void) setRightLabelText: (NSString *) labelText; @end @implementation CustomUISwitch – (UIView *) slider { return [[self subviews] lastObject]; } – (UIView *) textHolder { return [[[self slider] subviews] objectAtIndex:2]; } – (UILabel *) leftLabel { return [[[self […]

如何检测iPhone 5c的颜色?

iPhone 5c发布后,我很好奇,如果有人知道一个API如何获得iPhone 5c的颜色? 我敢肯定,每个人都会发现将相应的UI颜色scheme加载到设备颜色很方便。 我正在考虑包装它像UIDevice类别,这将返回一个UIColor。 更新: @ColinE和@Ortwin Gentz已经指出了私有UIDevice实例方法调用的可用性。 请注意,对于iPhone 5c,您真正需要的是deviceEnclosureColor,因为deviceColor将始终返回#3b3b3c,因为它是正面色彩。 方法签名: -(id)_deviceInfoForKey:(struct __CFString { }*)arg1 它的UIDevice类别: @interface UIDevice (deviceColour) – (id)_deviceInfoForKey:(struct __CFString { }*)arg1; – (NSString*)deviceColourString_UntilAppleMakesItPublic; – (NSString*)deviceEnclosureColour_UntilAppleMakesItPublic; @end @implementation UIDevice (deviceColour) – (NSString*)deviceColourString_UntilAppleMakesItPublic { return [self _deviceInfoForKey:@"DeviceColor"]; } – (NSString*)deviceEnclosureColour_UntilAppleMakesItPublic { return [self _deviceInfoForKey:@"DeviceEnclosureColor"]; } @end

NSWindowController澄清理解

我已经多次在项目中使用NSWindowController,并且觉得我对这个重要的类背后的概念有非常粗略的把握。 我想用这个post来做的是澄清/纠正我自己的理解,并希望帮助其他学习者进入理解的第一步。 我发现这些概念,概述和最佳实践是最有用的,而且往往缺less文档。 这里是我对NSWindowController的看法(问题穿插在粗体中): 一个NSWindowController(NSWC)子类存在于(概念上)每个窗口笔尖之下,充当用户界面元素和它们控制/表示的模型对象之间的粘合剂。 基本上,应用程序中的每个窗口都应该有自己的NSWC子类。 笔尖的文件所有者应始终是NSWC子类。 这甚至是MainMenu.xib应用程序的情况吗? NSWC window属性应始终链接到InterfaceBuilder中的NSWindow。 你应该使用[super initWithWindowNibName:]重写'init'方法,这样当你引用[mycontroller window] ,它将加载nib。 对于MainMenu.xib窗口,NSWC是否也应该这样做,即使这是在启动时打开的? NSWC不应该做太多的繁重工作 – 它只是简单地将消息传递给对象的实例,并将这些对象呈现在UI中。 它可以使用绑定来修改用户界面,或者作为表格的委托来进行修改,或者当它观察到一个变化时主动地改变用户界面元素,或者是上述任何一个组合(你使用哪一个似乎是一个问题)口味,各方面都有利有弊)。 NSWC可以在必要时创build其他NSWC的实例(例如,打开一次性子窗口时)。 使用[mycontroller showWindow:nil]在前面显示相关的窗口。 如果您希望窗口显示为表单,请使用如下所示的内容: NSWindowController* mycontroller = [[MyController alloc] init]; [NSApp beginSheet: [mycontroller window] modalForWindow: [self window] modalDelegate: self didEndSelector: @selector(didEndMySheet:returnCode:contextInfo:) contextInfo: nil]; didEndSelector:应该是父窗口的NSWC的一个方法,并且可以通过[sheet windowController] windowController [sheet windowController]访问和释放'mycontroller'。 – closures窗口调用NSWC窗口的performClose:方法。 一些问题: MainMenu窗口的NSWC是否也是应用程序代表,还是应该是不同的类? 同样,NSWC主要处理文件(拖放和打开),还是应该传递给应用程序代表,还是仅仅是一个品味问题? 如果这是不好的做法,请纠正我,或者是错误的。 我期待澄清我对NSWindowController的理解,所以任何补充(以最佳实践,经验,陷阱的forms)将不胜感激。 谢谢,劳里

和nil有什么区别?

以下是我所见的情况: NSMutableArray *controllers = [[NSMutableArray alloc] init]; for (unsigned i = 0; i < kNumberOfPages; i++) { [controllers addObject:[NSNull null]]; } 为什么不在那个地方?

如何检查Cocoa&Objective-C中是否存在文件夹?

如何使用Objective-C检查Cocoa中是否存在文件夹(目录)?

以编程方式获取“应用程序支持”文件夹

我正在尝试获取用户的应用程序支持文件夹的NSString。 我知道我可以做NSString *path = @"~/Library/Application Support"; 但是这看起来不是很优雅。 我玩过使用NSSearchPathForDirectoriesInDomains但它似乎很啰嗦,并创build了几个不必要的对象(至less,我的执行情况呢)。 有一个简单的方法来做到这一点?

确定NSNumber是否是NaN

我如何确定一个cocoaNSNumber是否代表NaN(不是数字)? 例如,当我分析一个包含无效(非数字)内容的string时,就会出现这种情况。

NSView的边界与框架

界限和框架有什么区别? 事实上,为什么“界限”还存在? “边界”的大小等于框架的大小,边界的原点应始终为0,0。