使用自动布局时,在MacOS上隐藏状态栏

我正在寻找一种在使用自动布局时隐藏窗口状态栏的方法。

以下是处理更改状态栏的代码:

- (void)adjustStatusBar
{
    NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
    NSRect scrollViewRect;
    BOOL statusBar = [defaults boolForKey: TSSTStatusbarVisible];
    if(statusBar)
    {
        scrollViewRect = [[[self window] contentView] frame];
        scrollViewRect = NSMakeRect(NSMinX(scrollViewRect),NSMinY(scrollViewRect) + 23,NSWidth(scrollViewRect),NSHeight(scrollViewRect) - 23);
        [[self window] setContentBorderThickness: 23 forEdge: NSMinYEdge];
        [pageScrollView setframe: scrollViewRect];
        [progressBar setHidden: NO];
        [self resizeWindow];
    }
    else
    {
        scrollViewRect = [[[self window] contentView] frame];
        [progressBar setHidden: YES];
        [pageScrollView setframe: scrollViewRect];
        [[self window] setContentBorderThickness: 0 forEdge: NSMinYEdge];
        [self resizeWindow];
    }
}

但这是关闭状态栏时的外观:

使用自动布局时,在MacOS上隐藏状态栏

状态栏所在的位置仍然可见。要使状态栏消失的位置该怎么办?

wanli2527 回答:使用自动布局时,在MacOS上隐藏状态栏

启用自动版式时,不能使用from typing import Dict class Convert: # Class Variables _my_dict: Dict = None # Import definitions def v1_0(self,my_dict): from format_utils import v1_0 as formatter return formatter.Formatter().format(my_dict) # Import definitions def v1_1(self,my_dict): from format_utils import v1_1 as formatter return formatter.Formatter().format(my_dict) # Function pointer dictionary # Must be defined after import functions import_format_util = \ { "1.0": v1_0,"1.1": v1_1,} def __init__(self,my_dict: Dict)-> None: # grab the format_version from dictionary passed in # for simplicity I am going to ignore any KeyErrors being thrown format_version: str = my_dict['format_version'] # Dynamically import the correct formatter using the dictionary of # function pointers,and pass my_dict into that formatter self._my_dict = self.import_format_util[format_version](self,my_dict) # I now have a correctly formatted dictionary to print print(self._my_dict) def main(): dict1 = \ { "format_version": "1.0","other_data": "Change Me!",} dict2 = \ { "format_version": "1.1",} # Initialize Convert object with first dict. __init__() will print dict init1 = Convert(dict1) # Initialize Convert object with second dict. __init__() will print dict init2 = Convert(dict2) main() 。最简单的方法是将Formatter-setFrame一起使用。现在,您只需隐藏状态栏,堆栈视图便会删除状态栏并扩展滚动视图。

本文链接:https://www.f2er.com/3164901.html

大家都在问