小编use*_*064的帖子

NSView 添加子视图后的鼠标事件

在我向 NSView 添加子视图后,我的鼠标事件响应 NSView 减去 addedSubVIew 的区域。我怎样才能避免这种情况?我希望它对所有超级视图做出响应。谢谢。

cocoa objective-c nsview

5
推荐指数
1
解决办法
1519
查看次数

NSView drawRect干扰子视图?

我有一个nsview,我使用绘制矩形绘制背景图像.它还有3个子视图nsbuttons.问题是,只要鼠标按下按钮,其他按钮就会消失.但是当我删除draw rect方法时,这不会发生.所以我猜这与绘制图像的draw rect方法有关.

我怎么能避免这个?谢谢.

编辑:好的,我想出了问题所在.基本上,我有一个NSMenuItem,我用3个按钮在其中放置一个视图.但在NSMenu中,顶部有一个4像素的填充.所以,基本上,删除那个填充我使用了这里提供的解决方案: NSMenuItem自定义视图上方的差距

从解决方案中,drawRect方法中有一行:

[[NSBezierPath bezierPathWithRect:fullBounds] setClip];
Run Code Online (Sandbox Code Playgroud)

那一刻,我删除了这一行,按钮表现正常.但是,顶部的填充物不会消失.

这是我的drawRect:

- (void) drawRect:(NSRect)dirtyRect {

    [[NSGraphicsContext currentContext] saveGraphicsState];

    NSRect fullBounds = [self bounds];
    fullBounds.size.height += 4;
    [[NSBezierPath bezierPathWithRect:fullBounds] setClip];

    NSImage *background = [NSImage imageNamed:@"bg.png"];
    [background drawInRect:fullBounds fromRect:NSZeroRect operation:NSCompositeCopy fraction:100.0];

    [[NSGraphicsContext currentContext] restoreGraphicsState];
}
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c nsview drawrect nsbutton

5
推荐指数
0
解决办法
2146
查看次数

KVO AVAudioPlayer无法正常工作

我试图观察AVAudioPlayer的"currentTime"属性.但是这个方法甚至没有被调用...我需要它来设置UISlider的位置..但它不起作用.这是相关的代码:

[audioPlayer addObserver:self forKeyPath:@"currentTime" options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:nil];


- (void)observeValueForKeyPath:(NSString *)keyPath
                      ofObject:(id)object
                        change:(NSDictionary *)change
                       context:(void *)context {
    NSLog(@"%@", change);
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

cocoa-touch objective-c key-value-observing avaudioplayer

5
推荐指数
1
解决办法
1277
查看次数

删除NSStatusItem视图

一个我通过setView设置NSStatusItem的视图,如果我想,我怎么能在以后删除它?这甚至可能吗?谢谢.

macos xcode cocoa objective-c nsstatusitem

4
推荐指数
1
解决办法
650
查看次数

比较NSCFString和NSCFBoolean

我正在使用SBJsonParser来解析JSON.输入可以是0或字符串(例如a829d901093),如果它为零,则返回NSCFBoolean,如果返回其字符串NSCFString.我怎么知道哪一个被退回?谢谢!

macos cocoa objective-c core-foundation

4
推荐指数
1
解决办法
2377
查看次数

GDB Objective-c调试(无符号表)

我有一个可执行文件,我正在使用gdb进行调试.这是我第一次使用gdb,请耐心等待.

我想在函数中设置断点,我知道使用类转储的函数的名称.现在它不会让我为该函数添加断点,因为它说没有符号表.我尝试添加符号表但它仍然抱怨没有加载符号表.

那么,无论如何我可以在这种方法中设置一个断点吗?这是一个客观的c方法,而不是c(如果这有所不同).我需要做的就是检查这个方法的论点.

debugging gdb objective-c symbol-table

4
推荐指数
1
解决办法
2865
查看次数

NSPredicate不使用字典数组

我有一个NSPredication,格式如下:@"Status CONTAINS[cd] shipped"

我有一个字典数组,这是一个例子:

{
        {
        Category = "Category 4";
        Comp = "Category 4";
        Depth = 02;
        Grade = New;
        Length = 02;
        Location = "Thousand Oaks, CA";
        Name = "3ply Mat";
        Owner = "Owner 3";
        PUP = 2;
        Status = Shipped;
        "Unit Number" = 20110507113852351;
        Width = 02;
    },
        {
        Category = "Category 4";
        Comp = "Category 4";
        Depth = 02;
        Grade = New;
        Length = 02;
        Location = "Thousand Oaks, CA";
        Name = "3ply Mat";
        Owner = …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c nsdictionary nsarray nspredicate

4
推荐指数
1
解决办法
4633
查看次数

"Cinch App"如何做到这一点?

如果您不熟悉Cinch,它是Mac App Store上的一个应用程序,如果您将窗口拖动到屏幕边缘,则允许您将任意窗口调整为半/全屏大小.完全像Windows 7中的功能.

现在我的问题是,它是如何完成的?我已经查看了所有可可apis寻找通知/委托方法,无论何时拖动窗口(所有窗口,而不仅仅是运行代码的应用程序拥有的窗口),但无法找到它.看看Core Graphics API ... Quartz Display Services ....但找不到它.

任何帮助将非常感谢,因为我一直在寻找过去一周....谢谢!

编辑:调整窗口大小很容易,因为它可以通过applescript桥完成.

macos xcode cocoa core-graphics objective-c

3
推荐指数
1
解决办法
566
查看次数

生成此字符串的最佳方法是什么?(...的NSMutableString)

我有一个字典,其键是NSStrings,其对象是NSArray.这是一个例子:

key (NSString) : GroupA 
value (NSArray): John
                 Alex
                 Joe
                 Bob
Run Code Online (Sandbox Code Playgroud)

有很多像这样的条目,这只是一个例子.我需要做的是生成这样的字符串(例如:

(GroupA contains[cd] ('John' OR 'Alex' OR 'Joe' OR 'Bob')) AND (GroupB contains[cd] ('Starcraft' OR 'WOW' OR 'Warcraft' OR 'Diablo')) AND ..... 
Run Code Online (Sandbox Code Playgroud)

我将把这个字符串提供给NSPredicate.生成此字符串的最佳方法是什么?我可以使用for循环,如果和所有这些,但是有更优雅的方式吗?谢谢.

cocoa-touch objective-c nspredicate nsmutablestring ios

3
推荐指数
1
解决办法
395
查看次数

NSOperation完成了

我在NSOperationQueue中运行了NSOperation.NSOperation下载一些数据并将其解析为NSDictionary.我如何知道NSOperation何时完成并获得该字典?谢谢.

cocoa-touch objective-c nsoperation nsoperationqueue ios

3
推荐指数
1
解决办法
3617
查看次数