NSComboBox в SpriteKit Странное предупреждение - PullRequest
0 голосов
/ 17 июня 2019

Я пишу приложение MacOS SpriteKit в Objective C (нацелен на 10.12).Я пытаюсь использовать NSComboBox в приложении, создав подкласс.Поле со списком отображается без проблем, но я получаю следующее предупреждение, и мне интересно, как от него избавиться:

Это приложение пытается нарисовать очень большое поле со списком, 30 очков в высоту.Вертикально изменяемые поля со списком не поддерживаются, но бывает, что 10.4 и предыдущие версии рисовали что-то вроде нормального.Искусство в 10.5 не разбивается таким образом, чтобы поддерживать этот рисунок.Это приложение должно быть пересмотрено, чтобы перестать использовать большие поля со списком.Это предупреждение будет появляться один раз при запуске приложения.

Вот подкласс:

MFComboBox.m

#import "MFComboBox.h"

@interface MFComboBox()

@property (weak) SKScene *scene;

@end

@implementation MFComboBox

- (void)drawRect:(NSRect)dirtyRect {
    [super drawRect:dirtyRect];

    // Drawing code here.
}

-(instancetype) initWithFrame:(CGRect)frame Scene:(SKScene*)scene {
    [super init].frame = frame;
    _scene = scene;
    [self addItemWithObjectValue:@"hi"];
    return self;
}

@end

Воткласс, который создает поле со списком:

GameScene.m

#import "GameScene.h"
#import "MFComboBox.h"

@implementation GameScene

- (void)didMoveToView:(SKView *)view {
    MFComboBox *comboBox = [[MFComboBox alloc] initWithFrame:CGRectMake(400, 400, 80, 30) Scene:self];
    [self.view addSubview:comboBox];
}


-(void)update:(CFTimeInterval)currentTime {
    // Called before each frame is rendered
}

@end
...