在前面的文章中说了关于Electron-vue
开发客户端,已经支持windows
和linux
。现在需要支持macOS
,由于electron
是跨平台的,所以代码就直接拿过来用在macOS
中,表现还是有所不一样的,比如托盘菜单,左右键表现形式等。今天讲到的就是在macOS
下如何动态的设置窗口的大小。
这是之前在windows
和linux
下都支持的动态改变窗口的大小。
// 设置window窗口大小
function setWindowSize(width, height) {
mainWindow.setSize(width, height)
mainWindow.setMaximumSize(width, height)
mainWindow.setMinimumSize(width, height)
}
但是在macOS
下,却切换不过来,具体的说是有的情况下可以切换,有的情况下切换不了。从大到小可以切换,从小到大切换不了
。也许还有其他的情况下切换不了…
可以看出,真实页面加载出来的了,但是窗口的大小却没有改变,导致出现了滚动条。
在网上搜了,没有找到对应的接二觉办法,于是就去了github上electron专区,找相关的问题。
费了一番功夫还是找到了一个解决办法:戳这里
其中有个网友提到了这种解决办法
意思就是:关于这个问题的变通方法是:在使用setSize之前,先使用setMinimumSize来设置宽高
,于是修改了一下代码:
// 设置window窗口大小
function setWindowSize(width, height) {
mainWindow.setMaximumSize(width, height)
mainWindow.setMinimumSize(width, height)
mainWindow.setSize(width, height)
}
然后在macOS
下从新执行一下,发现无论是从大到小还是从小到大的发生变化,都能成功的改变大小。