Tag: cocoa

如何检测UITableView中的某个单元格上的双击?

如何检测UITableView的某个单元格上的双击? 即如果用户做了一个单一的触摸,而另一个用户做了双重触摸,我想执行一个动作? 我也需要知道触摸的索引path。 我怎样才能达到这个目标? 谢谢。

如何设置NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints?

我从Cocoa自动布局机制得到以下消息: 将NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints设置为YES,以便在发生这种情况时自动调用[NSWindow visualizeConstraints:]。 但我不知道如何“设置NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints为YES”。 我如何设置?

计算UITabBar的高度

我正在编写一个应用程序,使用UITabBar作为导航的一部分。 我还使用UIScrollView来呈现比屏幕通常可以处理的更多信息。 因此,我需要设置滚动视图来考虑UITabBar的高度,以便显示所有的信息。 有没有办法来计算UITabBar的height ?

按降序对NSArray进行sorting

我有一个NSArray的NSNumber对象,我已经成功地按升序sorting使用以下内容: [myArray sortedArrayUsingSelector:@selector(compare:)] 不过,我需要按降序sorting。 我认为compare:只是按升序sorting。 虽然我可以去扭转NSArray ,但我很好奇是否有一个更简单或更有效的方法去做这件事。 编辑 :我发现这个问题提供了一个简单的方法来反向迭代NSArray : for (id someObject in [myArray reverseObjectEnumerator]) 这工作正常,我想这是一个很好的简单的解决scheme,但我很好奇,是否有一种方法来指定sorting降序。

运行时无法在工作表中编辑NSTextField

当点击一个button,我想显示一个电子邮件+密码提示与选项保存和取消的工作表。 用户界面全部设置完毕,操作已到位,表单出现并按预期取消。 问题是我不能在运行时编辑任何一个NSTextField; 它们显示为禁用,并且在打开表单时每次按键都会播放OS错误声音。 我读到的UIActionSheet是适当的,但这不是一个iOS应用程序。 文本字段已启用,并且以前一直在另一个面板中工作。 我确信IBAction链接是完整的,但我甚至不知道如何排除故障。 怎么样一张表会导致健康的NSTextField拒绝input? // show the sheet -(IBAction)showAccount:(id)sender { [NSApp beginSheet:accountWindow modalForWindow:prefsWindow modalDelegate:self didEndSelector:NULL contextInfo:NULL]; } // cancel/hide the sheet -(IBAction)cancelAccount:(id)sender { [NSApp endSheet:accountWindow]; [accountWindow orderOut:nil]; } 编辑:我刚刚发现,我可以右键单击并将文本粘贴到每个字段,但我不能select或删除。 看起来像NSTextFields没有得到重点,没有像往常一样接收键盘input。 我也忘记提及我的保存button调用并正确执行其相关的方法。

如何更改uitableview中单元格的字体大小

我的问题很简单,但没有得到正确的答案。我试过这一个,但它也没有工作。 cell.textLabel.adjustsFontSizeToFitWidth=NO; cell.textLabel.minimumFontSize=6; 我需要代码片段。 提前致谢

在不同的屏幕上绘制的cocoa失去了performance

我有一个基于文档的应用程序,其中每个文档有一个NSScrollView窗口,只使用Cocoa进行一些(相当连续的)绘图。 要调用绘图,我正在使用下面代码中概述的CVDisplayLink: – (void)windowControllerDidLoadNib:(NSWindowController *) aController { //other stuff… [self prepareDisplayLink]; //For some reason putting this in awakeFromNib crashes } //Prep the display link. – (void)prepareDisplayLink { CVDisplayLinkCreateWithActiveCGDisplays(&displayLink); CVDisplayLinkSetCurrentCGDisplay(displayLink, ((CGDirectDisplayID)[[[[[self windowForSheet]screen]deviceDescription]objectForKey:@"NSScreenNumber"]intValue])); CVDisplayLinkSetOutputCallback(displayLink, &MyDisplayLinkCallback, self); } //Callback to draw frame static CVReturn MyDisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeStamp* now, const CVTimeStamp* outputTime, CVOptionFlags flagsIn, CVOptionFlags* flagsOut, void* displayLinkContext) […]

通过元编程缓解C ++到Objective-C /cocoa桥接?

在一个纯粹的C ++世界中,我们可以在编译时间使用基于模板的编译时和运行时技术(例如,大部分自动将marshall传入或传出使用传统types的调用)的组合,在不同的组件或接口之间生成接口或粘合代码。 当需要将Objective-C / Cocoa与GUI,系统集成或IPC接口的C ++应用程序进行交互时,由于input较不严格,事情变得更加困难 – 但是通常不会再需要一个扁平的重复接口层:瘦桥接代表必须定义或转换代码语言桥接调用必须写。 如果您必须处理非平凡大小的接口,并且希望避免基于脚本的代码生成,那么这很快就会变得繁琐,而且每次重构都必须发生,这只是一个痛苦。 使用(模板)元编程和Objective-C运行时库的组合,应该可以大大减less代码量… 在我重新发明轮子(可能浪费时间)之前 ,有没有人知道在这个方向上的技术,最佳实践或例子? 举一个例子,假设我们需要一个支持这个非正式协议的委托: – (NSString*)concatString:(NSString*)s1 withString:(NSString*)s2; – (NSNumber*) indexOf:(CustomClass*)obj; 而不是实现一个明确桥接到C ++实例的Obj-C类,我想这样做,而不是: class CppObj { ObjcDelegate m_del; public: CppObj() : m_del(this) { m_del.addHandler <NSString* (NSString*, NSString*)> ("concatString", &CppObj::concat); m_del.addHandler <NSNumber* (CustomClass*)> ("indexOf", &CppObj::indexOf); } std::string concat(const std::string& s1, const std::string& s2) { return s1.append(s2); } size_t […]

UIImage方面适合并alignment顶部

它看起来像aspect fit默认情况下图像alignment框架的底部。 有没有办法来覆盖alignment,同时保持aspect fit完好? **编辑** 这个问题早于自动布局。 事实上,在这个问题被问到的同一个星期,WWDC在2012年展示了自动布局

构build纯粹的Swift Cocoa Touch Framework

我正在用Xcode-6来探索Swift,尽pipe我觉得新的集合需要一点点工作,因为我已经设法打破了几次编译器。 问题是我现在卡住了试图创build框架包, 然后在另一个项目中使用 。 该项目build设没有问题,所有的testing成功通过。 当我去创build存档(我认为是必需的)我收到错误: :0:错误:底层Objective-C模块'示例'未find 现在我认为这与我的Sample.h的内容有关,它告诉我 // In this header, you should import all the public headers of your framework using statements like #import <Sample/PublicHeader.h> 这是很好,除了我只使用这个框架的快速枚举,结构和类,因此没有.h文件存在。 任何人都可以阐明这一点,因为我找不到任何可用的文件呢?