正在建立一个应用程序(论坛),我有一个UINavigationController。我想在用户使用的任何UIViewController中显示警告消息。我真的不知道应该怎么做。
很多你的帮助。
这里有一些我想做的例子: 这是样本
答案 0 :(得分:1)
您可以将此视图添加到keyWindow
,并将其显示在前面。
或者您可以将alertView设置为UIWindow,通过这种方式,您可以在任何地方显示它。
static UIWindow *_sharedNavigationBarAlertView = nil;
+ (UIWindow *)sharedNavigationBarAlertView
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_sharedNavigationBarAlertView = [[UIWindow alloc] initWithFrame:CGRectZero];
_sharedNavigationBarAlertView.windowLevel = UIWindowLevelStatusBar + 1.0;
_sharedNavigationBarAlertView.hidden = YES;
// add other views...
});
return _sharedNavigationBarAlertView;
}
+ (void)showWithInformation:(id)info
{
// [self sharedNavigationBarAlertView].imageView.image = ...;
// [self sharedNavigationBarAlertView].titleLabel.text = @"";
// [self sharedNavigationBarAlertView].detailLabel.text = @"";
CGRect frame = [UIScreen mainScreen].bounds;
frame.size.height = 44.0;
[self sharedNavigationBarAlertView].frame = frame;
[self sharedNavigationBarAlertView].hidden = NO;
}
+ (void)hide
{
[self sharedNavigationBarAlertView].hidden = YES;
}
// To release the shared alert window, just set it to nil
答案 1 :(得分:0)
UINavigationBar
是UIView
的子类,因此您可以向其添加子视图。您可以通过任何视图控制器上的navigationController
属性或从保留UINavigationController
的任何位置访问它。只需添加您的通知子视图,并在延迟后将其删除。