我在窗口底部有一个NSTextField控件。 我需要根据某些条件显示或隐藏。如何在隐藏或显示控件后重新绘制窗口
在初始状态下,控件被隐藏。 窗口显示控件位置上的空白区域。 在运行时,控制应该变为可见
mpTxtCtrl.hidden = NO;
它不会发生。
任务:
1显示/隐藏控制。
2根据控件的状态调整主窗口的大小。
我找不到任何教程如何管理可可中的布局。 我会很感激任何帮助!
我在窗口底部有一个NSTextField控件。 我需要根据某些条件显示或隐藏。如何在隐藏或显示控件后重新绘制窗口
在初始状态下,控件被隐藏。 窗口显示控件位置上的空白区域。 在运行时,控制应该变为可见
mpTxtCtrl.hidden = NO;
它不会发生。
任务:
1显示/隐藏控制。
2根据控件的状态调整主窗口的大小。
我找不到任何教程如何管理可可中的布局。 我会很感激任何帮助!
检查这个代码,如果你会发现一些有用的东西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];
}
那么,什么是提问者的问题,以及这段代码如何解决它? – 2013-03-18 10:30:19
@PeterHosey:他需要在运行时隐藏/显示控件。甚至可以调整窗口大小。 – 2013-03-18 10:34:32
这是他的目标,而不是他实现这个目标的问题。 – 2013-03-18 10:38:22
当运行控制应成为可见
mpTxtCtrl.hidden = NO;
它不会发生。
确保将mpTxtCtrl
插座连接到笔尖的文本字段。忘记将你的插座连接到任何东西都是没有任何事情发生的主要原因。
我找不到任何教程如何管理可可中的布局。
编辑笔尖时切换到文件检查器并打开“使用自动布局”。无论何时沿着Aqua指南放置视图(正确放置和调整视图大小时出现蓝线),Xcode都会创建约束,而Cocoa会在视图大小和窗口大小发生变化时强制执行这些约束。
更多信息:
彼得,谢谢你的回答。我将更详细地研究拟定的指导方针,我认为他们会帮助我。 – kaa 2013-03-18 10:57:01
是否使用自动布局? – 2013-03-18 09:11:55
你的控制权是什么?复选框,收音机等? – 2013-03-18 09:13:18
Anoop Vaidya,不,我不使用自动布局。我是MacOs编程新手。请给我一个适当的教程链接。目标控件 - 是一个文本字段(NSTextField)。 – kaa 2013-03-18 09:32:38