我知道这听起来像是一个简单的答案,但请听我说。尽管/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/Cellar/geckodriver/0.21.0/bin/geckodriver
是#include<iostream>
using namespace std;
namespace detail {
struct tag {};
}
template<auto& X, typename Y>
struct s{
static constexpr auto val = 11;
};
template<auto& X>
struct s<X,detail::tag>{
static constexpr auto val = 22;
};
int main()
{
static constexpr long long arr[] = {42ll,47ll};
cout << s<arr, detail::tag>::val << endl; //outputs 11, not 22
cout << s<arr, int>::val << endl;
}
的子类,但是您不能使用UIStatusBar
方法向其添加子视图,因为它没有使用它。 UIView
也是如此。视图或窗口都没有viewcontroller,因此我无法以任何方式参与其中。
这是代码的相关部分。我自称addSubview
方法的那一行是问题所在,因为UIStatusBarWindow
不是addSubviews
的方法。
addSubviews
还有另外一种添加子视图的方法吗?我尝试这样做的原因是,每当隐藏状态栏时,我的UIStatusBar
视图也会被隐藏。每当状态栏被隐藏时,我都可以将其隐藏起来,但是由于不同的应用程序使用了许多不同的方法来隐藏状态栏,所以效果并不理想。
答案 0 :(得分:2)
我认为这里的解决方案是在状态栏的高度发生变化时使用所传递的通知。
同时使用/同时使用:
UIApplicationWillChangeStatusBarFrameNotification
UIApplicationDidChangeStatusBarFrameNotification
或者您也可以使用在状态栏更改框架时调用的AppDelegate
方法:
-application:willChangeStatusBarFrame:
-application:didChangeStatusBarFrame:
您可以使用这些方法根据状态栏的新框架调整圆角。希望这可以解决您的问题!