我有一个NSTextField控件在窗口的底部。我需要根据某些条件显示或隐藏它们。
在初始状态下控件是隐藏的。该窗口显示控件位置上的空白。在运行时,控件应该是可见的
mpTxtCtrl.hidden = NO;
它没有发生。
任务:
1显示/隐藏控件。
2根据控件的状态调整主窗口的大小。
我找不到任何教程如何管理布局的可可。我将感激任何帮助!
在运行时,控件应该是可见的
mpTxtCtrl.hidden = NO;
它没有发生。
确保您将mpTxtCtrl
出口连接到笔尖中的文本字段。忘记把插座连接到任何东西上,是导致什么事情都不会发生的主要原因。
我找不到任何教程如何管理布局的可可。
在编辑笔尖时切换到文件检查器并打开"使用自动布局"。Xcode会在你沿着Aqua线放置视图时创建约束(当你正确放置和调整视图大小时出现的蓝线),Cocoa会在视图和窗口大小变化时强制执行这些约束。
更多信息:
- Cocoa自动布局指南
- WWDC 2012视频-包括几个关于自动布局的会议
- OS X人机界面指南- Aqua指南似乎表明符合HIG
检查这段代码,如果你会发现一些有用的东西在这里:
-(void)awakeFromNib{
[self.label setHidden:YES];
}
- (IBAction)showHide:(id)sender {
NSLog(@"%@",[sender title]);
if ([[sender title] isEqualToString:@"Hide"]) {
[self.label setHidden:YES];
[sender setTitle:@"Show"];
}
else if ([[sender title] isEqualToString:@"Show"]){
[self.label setHidden:NO];
[sender setTitle:@"Hide"];
}
}
- (IBAction)maximize:(id)sender {
NSArray *screens = [NSScreen screens];
NSRect screenRect;
for (NSInteger index=0; index < [screens count]; index++) {
NSScreen *screen = screens[index];
screenRect = [screen visibleFrame];
}
[self.window setFrame:screenRect display:YES];
}