常用模式窗口来显示一些临时需要显示的信息,那么它该如何创建呢?
- (void)closeLogOnPane{
[self dismissModalViewControllerAnimated:YES]; //关闭已经打开的模式窗口
[[NSNotificationCenter defaultCenter] removeObserver:self
name:@"NotificationCloseLogOnPane"
object:[self modalViewController]];
}
- (IBAction)ShowLogOnPane:(id)sender{
LogOnController *logOnCtrl = [[LogOnController alloc] init]; //要显示的模式窗口控制器
//保存要显示的模式窗口的大小,因为用[self presentModalViewController: animated:]显示出来的模式窗口的默认大小一般
//不是我们想要得
CGSize logOnPaneSize = logOnCtrl.view.frame.size;
logOnCtrl.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; //淡入淡出的效果
logOnCtrl.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:logOnCtrl animated:YES];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(closeLogOnPane)
name:@"NotificationCloseLogOnPane"
object:logOnCtrl];
//定义模式窗口显示的位置,要在父视图中定义才有用
logOnCtrl.view.superview.center = CGPointMake(502, 384);
//定义模式窗口大小,要在父视图中定义才有用
logOnCtrl.view.superview.bounds = CGRectMake(0, 0, logOnPaneSize.width, logOnPaneSize.height);
[self presentModalViewController:logOnCtrl animated:YES];
[logOnCtrl release];
}