我在窗口底部有一个NSTextField控件。 我需要根据某些条件显示或隐藏它们。
在初始状态下,控件被隐藏。 窗口显示控件位置的空白区域。 在运行时,控件应该可见
mpTxtCtrl.hidden = NO;
它不会发生。
任务:
1显示/隐藏控制。
2根据控件的状态调整主窗口的大小。
我找不到任何教程如何管理cocoa中的布局。 我将不胜感激任何帮助!
答案 0 :(得分:1)
在运行时,控件应该可见
mpTxtCtrl.hidden = NO;
它不会发生。
确保已将mpTxtCtrl
插座连接到笔尖中的文本字段。忘记将您的插座连接到任何东西是导致任何事情发生的主要原因。
我找不到任何教程如何管理cocoa中的布局。
在编辑笔尖时切换到文件检查器,然后打开“使用自动布局”。每当您沿着Aqua指南放置视图时,Xcode都会创建约束(正确放置和调整视图时出现的蓝线),Cocoa会随着视图大小和窗口的变化强制执行这些约束。
更多信息:
答案 1 :(得分:0)
检查此代码,如果您找到一些有用的内容here:
-(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];
}