0

我在窗口底部有一个 NSTextField 控件。我需要根据某些情况显示或隐藏它们。

在初始状态下,控件是隐藏的。窗口显示控件位置上的空白区域。在运行时,控件应该变得可见

mpTxtCtrl.hidden = NO;

它不会发生。

任务:

1 显示/隐藏控件。

2 根据控件的状态调整主窗口的大小。

我找不到任何教程如何在可可中管理布局。如果有任何帮助,我将不胜感激!

4

2 回答 2

1

在运行时,控件应该变得可见

mpTxtCtrl.hidden = NO;

它不会发生。

确保将mpTxtCtrl插座连接到笔尖的文本字段。忘记将插座连接到任何东西是什么都没发生的主要原因。

我找不到任何教程如何在可可中管理布局。

在编辑笔尖时切换到文件检查器并打开“使用自动布局”。每当您沿着 Aqu​​a 指南(正确放置和调整视图大小时出现的蓝线)放置视图时,Xcode 都会创建约束,而 Cocoa 将在视图大小和窗口发生变化时强制执行这些约束。

更多信息:

于 2013-03-18T10:37:59.940 回答
0

检查此代码,如果您会在这里找到一些有用的东西:

-(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-18T09:47:23.880 回答