Сделайте то, что сделал Мэтт, но просто измените значения и направление.У меня есть код дома, чтобы сделать это снизу, если понадобится позже (я обновлю этот пост).
Ссылка: http://cocoawithlove.com/2009/05/intercepting-status-bar-touches-on.html
Также не забудьте взятьнемного кода, который смещает основной вид вниз (так что вместо этого UIView просто выскакивает сверху, как ActionSheet)
Обновлен с кодом:
Это то, что яиспользовать в одном из моих приложений, чтобы показать / скрыть небольшой вид «параметров»:
- (void)toggleOptions:(BOOL)ViewHidden
{
// this method opens/closes the player options view (which sets repeat interval, repeat & delay on/off)
if (ViewHidden == NO)
{
// delay and move view out of superview
CGRect optionsFrame = optionsController.view.frame;
[UIView beginAnimations:nil context:nil];
optionsFrame.origin.y += optionsFrame.size.height;
optionsController.view.frame = optionsFrame;
[UIView commitAnimations];
[optionsController.view
performSelector:@selector(removeFromSuperview)
withObject:nil
afterDelay:0.5];
[optionsController
performSelector:@selector(release)
withObject:nil
afterDelay:0.5];
optionsController = nil;
}
else
{
optionsController = [[PlayOptionsViewController alloc] init];
//
// Position the options at bottom of screen
//
CGRect optionsFrame = optionsController.view.frame;
optionsFrame.origin.x = 0;
optionsFrame.size.width = 320;
optionsFrame.origin.y = 423;
//
// For the animation, move the view up by its own height.
//
optionsFrame.origin.y += optionsFrame.size.height;
optionsController.view.frame = optionsFrame;
[window addSubview:optionsController.view];
[UIView beginAnimations:nil context:nil];
optionsFrame.origin.y -= optionsFrame.size.height;
optionsController.view.frame = optionsFrame;
[UIView commitAnimations];
}
}