2016-11-11 6 views
5

Как настроить изображение на кнопку на сенсорной панели (для нового MacBook Pro)? Я пробовал следующий код, но он не работает, если я запускаю следующий код, в сенсорной панели не отображается кнопка.Xcode: установите изображение на сенсорную панель (для нового MacBook Pro)

- (nullable NSTouchBarItem *)touchBar:(NSTouchBar *)touchBar makeItemForIdentifier:(NSTouchBarItemIdentifier)identifier 
{ 

if ([identifier isEqualToString:TouchBarMacScanIdentifier]) 
{ 
    NSButton* theButton = [NSButton buttonWithTitle:@"Scan" target:self action:@selector(clickFullScan:)]; 

    [theButton setImage:[NSImage imageNamed:@“scan.png”]]; 
    [theButton setImagePosition:NSImageLeft]; 

    NSCustomTouchBarItem *customItemForButton = 
    [[NSCustomTouchBarItem alloc] initWithIdentifier:TouchBarMacScanIdentifier]; 

    customItemForButton.view = theButton; 

    customItemForButton.visibilityPriority = NSTouchBarItemPriorityLow; 

    return customItemForButton; 
} 

... 

return nil; 
} 

Если я прокомментирую следующие две строки, я вижу кнопку, показанную в сенсорной панели.

[theButton setImage:[NSImage imageNamed:@“scan.png”]]; 
    [theButton setImagePosition:NSImageLeft]; 

Так что случилось? как я могу установить изображение на кнопку на сенсорной панели?

ответ

4

Похоже, что ваша ширина изображения слишком велика. Даже когда изображение уменьшено для отображения всего изображения внутри кнопки, ширина кнопки устанавливается равной исходной ширине изображения.

128x128: enter image description here

256x256: enter image description here

512x512: enter image description here

1024х1024: Кнопка Нет - так как свободный размер сенсорной панели не является достаточно большим для вашей кнопки, чтобы отобразить

Смежные вопросы