Xcode不';不认识NSLabel
我正在尝试为我的osx应用程序创建一个NSLabel,但是Xcode没有识别出类型“NSLabel”是有效的,建议我改为尝试“NSPanel” 在头文件中,我有以下导入:Xcode不';不认识NSLabel,xcode,macos,object,import,label,Xcode,Macos,Object,Import,Label,我正在尝试为我的osx应用程序创建一个NSLabel,但是Xcode没有识别出类型“NSLabel”是有效的,建议我改为尝试“NSPanel” 在头文件中,我有以下导入: #import <Cocoa/Cocoa.h> #import <AppKit/AppKit.h> #导入 #进口 我该如何解决这个问题?是否需要导入另一个文件?操作系统X上没有标签类(NSLabel)。您必须使用NSTextField,请卸下挡板并使其不可编辑: [textField setBez
#import <Cocoa/Cocoa.h>
#import <AppKit/AppKit.h>
#导入
#进口
我该如何解决这个问题?是否需要导入另一个文件?操作系统X上没有标签类(NSLabel
)。您必须使用NSTextField
,请卸下挡板并使其不可编辑:
[textField setBezeled:NO];
[textField setDrawsBackground:NO];
[textField setEditable:NO];
[textField setSelectable:NO];
我有同样的问题,根据鼓手的建议,我创建了这个
NSLabel
类
标题
您需要导入“NSLabel.h”才能使用它,但我认为它更干净。Swift 4.2
//
// NSLabel.h
//
// Created by Axel Guilmin on 11/5/14.
//
#import <AppKit/AppKit.h>
@interface NSLabel : NSTextField
@property (nonatomic, assign) CGFloat fontSize;
@property (nonatomic, strong) NSString *text;
@end
//
// NSLabel.m
//
// Created by Axel Guilmin on 11/5/14.
//
#import "NSLabel.h"
@implementation NSLabel
#pragma mark INIT
- (instancetype)init {
self = [super init];
if (self) {
[self textFieldToLabel];
}
return self;
}
- (instancetype)initWithFrame:(NSRect)frameRect {
self = [super initWithFrame:frameRect];
if (self) {
[self textFieldToLabel];
}
return self;
}
- (instancetype)initWithCoder:(NSCoder *)coder {
self = [super initWithCoder:coder];
if (self) {
[self textFieldToLabel];
}
return self;
}
#pragma mark SETTER
- (void)setFontSize:(CGFloat)fontSize {
super.font = [NSFont fontWithName:self.font.fontName size:fontSize];
}
- (void)setText:(NSString *)text {
[super setStringValue:text];
}
#pragma mark GETTER
- (CGFloat)fontSize {
return super.font.pointSize;
}
- (NSString*)text {
return [super stringValue];
}
#pragma mark - PRIVATE
- (void)textFieldToLabel {
super.bezeled = NO;
super.drawsBackground = NO;
super.editable = NO;
super.selectable = YES;
}
@end