所以我在Xcode中使用"Utility Application"模板并拥有主视图控制器,用户可以使用按钮隐藏和显示状态栏.我还有一个Flipside View控制器,使用模态segue,它有一个完成按钮返回到主VC.我已将其设置为每次查看Flipside VC时,状态栏始终不会被隐藏.这意味着如果用户隐藏主VC上的状态栏并转换到Flipside VC,它将动画显示,如果用户没有隐藏状态栏并且他们转换,则状态栏没有任何反应.
这一切都很好,问题是从转变回到贫乏VC到主VC.我需要一个条件来检查主VC中状态栏的隐藏状态,当按下完成按钮时,它将在Flipside VC中调用.
我已经研究过使用BOOL和NSNotificationCenter向Flipside VC发送有关状态栏状态的消息.
我有这个代码:
-(BOOL)checkStatusBarHidden:(id)input
{
BOOL result;
if ([UIApplication sharedApplication].statusBarHidden = YES)
{
result = YES;
}
else
{
result = NO;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
但这只是猜测和思考我可以在某处使用它来通知Flipside VC状态栏状态.我想到也许改变了
[UIApplication sharedApplication].statusBarHidden = YES)
Run Code Online (Sandbox Code Playgroud)
喜欢的东西
self.statusBarHidden = YES //which of course isn't going to work
Run Code Online (Sandbox Code Playgroud)
但无论如何,正如我所说,这是在猜测,我不知道该怎么做.
我想让用户使用手势识别器在iOS应用中控制亮度,以便向上和向下滑动.手势甚至可以控制亮度吗?在使用滑块和UIScreen的亮度属性之前我已经完成了...
[UIScreen mainScreen].brightness = 0.5;
Run Code Online (Sandbox Code Playgroud)
我希望能够像使用滑块(如iBooks应用程序)一样控制亮度,而不是滑块使用手势识别器.该想法是,只要识别出触摸并且手指向上或向下移动,手势就连续地改变亮度值.我不确定是否应该使用平移手势并以某种方式限制方向向上或向下,或使用轻扫手势(但显然检测到一次滑动并且不会持续更新值).
也许在屏幕上将指针向上移动指定的量会增加亮度值的0.0 - 1.0范围.我不知道如何接近它所以我只是大声思考.
有任何想法吗?非常感谢.
编辑:好的,所以我在另一个类似的问题上找到了这个代码
- (void)pan:(UIPanGestureRecognizer *)recognizer
{
if ((recognizer.state == UIGestureRecognizerStateChanged) ||
(recognizer.state == UIGestureRecognizerStateEnded))
{
CGPoint velocity = [recognizer velocityInView:self.view];
if (velocity.y >0) // panning down
{
self.brightness = self.brightness -.02;
NSLog (@"Decreasing brigntness in pan");
}
else // panning up
{
self.brightness = self.brightness +.02;
NSLog (@"Increasing brigntness in pan");
}
}
}
Run Code Online (Sandbox Code Playgroud)
每次你向上或向下手势时,它似乎至少打印一个NSLog,我想我现在只想知道是否有办法使用NSLog找出当前的亮度值,而不是只是告诉你它是否检测到一个手势(除非我是愚蠢的,我正在使用的NSLog已告诉我了吗?).谢谢,这将非常有用,因为我无法在设备上运行.:-D