2014-11-17 1 views
1

Im пытается создать представление, в котором есть два ярлыка, с включенным автоматическим макетом. При запуске приложения он настраивает размер экрана так, как если бы он имел контент, но ничего не обнаруживалось. Это означает, что текст не будет программным.OSX: Автоматическая компоновка/ограничения, не отображающие содержимое

Это мое мнение:

My view

Это то, что происходит, когда я запустить приложение:

Issue

Если я иду вперед и добавить текст на этикетке многострочного выше «Дата»:

Issue2

Он реагирует на изменения текста, но ничего не отображает.

Вот мой очень, очень коротко и просто ViewController код:

TodayViewController.h:

#import <Cocoa/Cocoa.h> 

@interface TodayViewController : NSViewController 

@property (weak) IBOutlet NSTextField *multiLine; 
@property (weak) IBOutlet NSTextField *theDate; 

@end 

TodayViewController.m:

#import "TodayViewController.h" 
#import <NotificationCenter/NotificationCenter.h> 

@interface TodayViewController() <NCWidgetProviding> 

@end 

@implementation TodayViewController 
@synthesize multiLine, theDate; 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    //Weather I programmatically set text or not doesn't change anything. 
} 

- (void)widgetPerformUpdateWithCompletionHandler:(void (^)(NCUpdateResult result))completionHandler { 
    completionHandler(NCUpdateResultNoData); 
} 

@end 
+0

Ваше мнение прикреплено к нижней части контейнера? – Zhang

ответ

3

Как я могу видеть ограничения установлены неправильно. Вот почему на первом снимке экрана ярлык отмечен красным. Если ограничения установлены правильно, отображается синий цвет. Отсутствие противопоказаний означает, что для ярлыка недостаточно информации для правильного отображения.

Для вашего простого примера должно быть достаточно использовать автоматическую компоновку. Выберите вид и на правом нижнем углу должна быть кнопка, как это: enter image description here

Нажмите IST и выберите «четкие Сдерживает» (Внимание Это удалит все текущие Сдерживает в представлении!).

После этого вы можете запустить свою программу, и метка должна отображаться как минимум.

Теперь нажмите кнопку еще раз и выберите «добавить отсутствующие ограничения» ... Надеюсь, это поможет.