小编C-V*_*rel的帖子

Swift中的NSOpenPanel.怎么开?

我有这个Objective-C代码:

- (IBAction)selectFileButtonAction:(id)sender {

    //create open panel...
    NSOpenPanel* openPanel = [NSOpenPanel openPanel];
    // NSLog(@"Open Panel");
    //set restrictions / allowances...
    [openPanel setAllowsMultipleSelection: NO];
    [openPanel setCanChooseDirectories:NO];
    [openPanel setCanCreateDirectories:NO];
    [openPanel setCanChooseFiles:YES];
    //only allow images...
    [openPanel setAllowedFileTypes:[NSImage imageFileTypes]];
    //open panel as sheet on main window...
    [openPanel beginWithCompletionHandler:^(NSInteger result)  {
        if (result == NSFileHandlingPanelOKButton) {

            //get url (should only be one due to restrictions)...
            for( NSURL* URL in [openPanel URLs] ) {
               // self.roundClockView1.URL = URL ;
                _thePath = URL;
                currentSelectedFileName = [[URL path] lastPathComponent]; …
Run Code Online (Sandbox Code Playgroud)

objective-c nsopenpanel swift osx-yosemite

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

如何在Swift系统中获取工作日数组?

如何从系统中获取一周中的数据(NSDate我认为)?

到现在为止,我只能参加当天的活动,但我希望能够在阵容中度过所有工作日.

如果将星期的第一天设置为星期一,我的数组将如下所示:

[ Mon, Tue, Wed... ]
Run Code Online (Sandbox Code Playgroud)

如果星期的第一天是星期日,我的数组看起来像:

[Sun, Mon, Tue... ]
Run Code Online (Sandbox Code Playgroud)

码:

let dateNow = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .CalendarUnitSecond | .CalendarUnitYear , fromDate: dateNow) 

/*This is the way how i take system time */ 

let format = NSDateFormatter()
format.dateFormat = "EEE"
stringDay = format.stringFromDate(dateNow) 
Run Code Online (Sandbox Code Playgroud)

swift xcode6 osx-yosemite

12
推荐指数
1
解决办法
4511
查看次数

以编程方式重启应用

我想知道是否有任何方法以编程方式重新启动我的应用程序.这是一个mac os应用程序,我在swift中使用Xcode 6.

程序很简单,在给定时间我想重新启动我的应用程序.我想我需要一个简单的助手,但我不确定.

macos swift

8
推荐指数
2
解决办法
6965
查看次数

如何在mac应用程序中使用自定义字体?

我尝试在我的swift应用程序中使用自定义字体,但它们不加载.

我复制了我的资源文件夹中的fonts.ttf,并在Info.plist中的"应用程序提供的字体"键下添加了名称.

我尝试使用.plist中的"应用程序字体资源路径"键,但没有结果.这是我用来应用我的字体的代码.我试过:"MyFont.ttf"和"MyFont"

@IBOutlet weak var label:NSTextField!

override func awakeFromNib() {
    label.font = NSFont(name: "MyFont.ttf", size: 15)
}
Run Code Online (Sandbox Code Playgroud)

macos xcode custom-font swift

7
推荐指数
5
解决办法
7008
查看次数

如何更改使用NSArrayContoller作为内容源的NSTableView的选择颜色?

我有一个NSTableView(基于视图)谁从NSarrayController显示信息.所有连接均由IB制成.一切正常,但蓝色选择颜色看起来不符合我的设计理念,所以我想用我自己的颜色改变这种颜色,但直到现在我都失败了.

class MyTable: NSTableView, NSTableViewDelegate {
    override func drawBackgroundInClipRect(clipRect: NSRect) {

        if self.isRowSelected( self.selectedRow ){
            //NSColor.brownColor().colorWithAlphaComponent(0.9).setFill()
           // NSBezierPath.fillRect(clipRect)
            println("selected")

        }
    }


}
Run Code Online (Sandbox Code Playgroud)

我真正的问题是:我不知道我应该从哪里开始,子类,NSTableView,NSTableCellView等.

最近我发现了一个方法来说明我应该继承NSTableRowView,并覆盖drawSelectionInRect函数.我已经这样做了,但在IB中我没有NSTableRowView对象.

谢谢.

nstableview swift osx-yosemite

7
推荐指数
3
解决办法
2818
查看次数

如何在swift中保存NSUserDefaults中的颜色?

我在NSUserDefaults中保存颜色有一个小问题.在objective-c很容易:

-(NSColor *)colorForKey:(NSString *)key{
NSData  *data;
NSColor *color;
data = [[NSUserDefaults standardUserDefaults] objectForKey:key];
color= [NSUnarchiver unarchiveObjectWithData:data];
if( ! [color isKindOfClass:[NSColor class]] ){
    color = nil;
}
return color;
}

-(void)setColor:(NSColor *)color forKey:(NSString *)key{
    NSData *data = [NSArchiver archivedDataWithRootObject:color];
    [[NSUserDefaults standardUserDefaults] setObject:data forKey:key];
}
Run Code Online (Sandbox Code Playgroud)

上面的代码在objective-c中工作正常,但是当我尝试在swift中编写相同的代码时,我在从NSUserDefaults读取颜色时收到错误.

 func saveColorForKey (color:NSColor , key:NSString ) {

    var data:NSData = NSData()
    data = NSArchiver.archivedDataWithRootObject(color)
    NSUserDefaults.standardUserDefaults().setObject(data, forKey: key)
}
func colorForKey(key:NSString) -> NSColor{
    var  data: AnyObject? = NSUserDefaults.standardUserDefaults().objectForKey(key)
    var color: AnyObject? =  NSUnarchiver.unarchiveObjectWithData(data? as NSData)

    return color …
Run Code Online (Sandbox Code Playgroud)

objective-c nsuserdefaults swift osx-yosemite

6
推荐指数
1
解决办法
2222
查看次数

如何自定义NSSegmentedControl?

您知道我如何获得该控件子类 NSSegmentedControl/NSSegmentedControlCell 吗?-

我尝试重写 NSSegmentedControlCell 中的一些方法,但我还没有接近获得我想要的。

  override func drawSegment(segment: Int, inFrame frame: NSRect, withView controlView: NSView) {

        let bez = NSBezierPath(roundedRect: frame, xRadius: 3, yRadius: 3)
        NSColor.lightGrayColor().set()
        bez.stroke()
        if self.selectedSegment != segment {
            bez.fill()
    }
    //super.drawSegment(segment, inFrame: frame, withView: controlView)
}

override func drawInteriorWithFrame(cellFrame: NSRect, inView controlView: NSView) {
    //
}
Run Code Online (Sandbox Code Playgroud)

drawInteriorWithFrame 应该让我可以按照我想要的方式绘制背景(只是clearColor,带边框),但它仍然具有默认的 lightGrayColor。

谢谢。

macos cocoa nssegmentedcontrol swift

6
推荐指数
0
解决办法
1094
查看次数

如何在swift中编写这段代码?

我有这个用Objective c编写的代码:

NSRect textRect = NSMakeRect(42, 35, 117, 55);
{
    NSString* textContent = @"Hello, World!";
    NSMutableParagraphStyle* textStyle = NSMutableParagraphStyle.defaultParagraphStyle.mutableCopy;
    textStyle.alignment = NSCenterTextAlignment;

    NSDictionary* textFontAttributes = @{NSFontAttributeName: [NSFont fontWithName: @"Helvetica" size: 12], NSForegroundColorAttributeName: NSColor.blackColor, NSParagraphStyleAttributeName: textStyle};

    [textContent drawInRect: NSOffsetRect(textRect, 0, 1 - (NSHeight(textRect) - NSHeight([textContent boundingRectWithSize: textRect.size options: NSStringDrawingUsesLineFragmentOrigin attributes: textFontAttributes])) / 2) withAttributes: textFontAttributes];
}
Run Code Online (Sandbox Code Playgroud)

现在,我想在swift中编写这段代码.这就是我到现在所拥有的:

let textRect = NSMakeRect(42, 35, 117, 55)
let textTextContent = NSString(string: "Hello, World!")
let textStyle = NSMutableParagraphStyle.defaultParagraphStyle().mutableCopy() as NSMutableParagraphStyle
textStyle.alignment = NSTextAlignment.CenterTextAlignment

let textFontAttributes …
Run Code Online (Sandbox Code Playgroud)

macos objective-c swift

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

NSTabViewController-如何创建自定义过渡?

我有一个NSTabViewController附有6个标签NSViewController的。从IB,我可以从一些预定义的过渡中进行选择,但我不喜欢其中任何一个。所以我的问题是:我如何进行自己的过渡?

PS:我在我的项目中使用StoryBoards。

macos xcode storyboard swift nstabviewcontroller

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

How to prevent a NSCursor from change?

I have a problem while I try to prevent a cursor from changing. I try to put an overlay view over entire window, but, if under that overlay exist an NSTextView, this will force cursor to change. I want to prevent that, and keep the arrow cursor until my overlay view will be removed.

Overriding the cursorUpdate method does not work:

override func cursorUpdate(with event: NSEvent) {
    return
}
Run Code Online (Sandbox Code Playgroud)

Thanks!

即使这个问题的答案也无济于事。此解决方案仅在叠加视图小于 TextView 时有效。

在此处输入图片说明

macos cocoa nsview nscursor swift

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

NSPNGFileType - 在Swift中找不到?

今天,我发现了一些奇怪的事:

我想在swift中编写这段代码:

    NSData *data = [myImage representationUsingType: NSPNGFileType properties: nil];
Run Code Online (Sandbox Code Playgroud)

在swift中,它看起来像这样:

var data: NSData = imageToSave?.representationUsingType( NSPNGFileType ,
            properties: nil)
Run Code Online (Sandbox Code Playgroud)

问题是编译器说:"使用未解析的标识符'NSPNGFileType'".有谁知道为什么?

谢谢,对不起我的英文!

macos objective-c swift xcode6

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

如何快速获取分辨率更改事件?

我尝试制作一个应用程序,现在我应该在屏幕分辨率发生变化时进行一些更改,但我找不到如何拦截此事件。

你有什么想法我怎么能参加那个活动?

macos cocoa swift

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