如何在Theos中向UIStatusBar添加子视图?

时间:2018-07-17 19:34:11

标签: ios objective-c jailbreak theos logos

我知道这听起来像是一个简单的答案,但请听我说。尽管/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视图也会被隐藏。每当状态栏被隐藏时,我都可以将其隐藏起来,但是由于不同的应用程序使用了许多不同的方法来隐藏状态栏,所以效果并不理想。

1 个答案:

答案 0 :(得分:2)

我认为这里的解决方案是在状态栏的高度发生变化时使用所传递的通知。

同时使用/同时使用:

UIApplicationWillChangeStatusBarFrameNotification

UIApplicationDidChangeStatusBarFrameNotification

或者您也可以使用在状态栏更改框架时调用的AppDelegate方法:

-application:willChangeStatusBarFrame:

-application:didChangeStatusBarFrame:

您可以使用这些方法根据状态栏的新框架调整圆角。希望这可以解决您的问题!