static UIView *modalView;
if
(modalView) {
[modalView removeFromSuperview];
modalView = nil;
return;
}
CGRect screen = [[UIScreen mainScreen] bounds];
CGRect bounds = CGRectMake(screen.origin.x, screen.origin.y, screen.size.width, screen.size.height/2);
modalView = [[UIView alloc] initWithFrame:bounds];
modalView.opaque = NO;
modalView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
UILabel *label = [[UILabel alloc] init];
label.text = @"Modal View";
label.textColor = [UIColor whiteColor];
label.backgroundColor = [UIColor clearColor];
label.opaque = NO;
[label sizeToFit];
[label setCenter:CGPointMake(modalView.frame.size.width / 2, modalView.frame.size.height / 2)];
[modalView addSubview:label];
[self.view addSubview:modalView];
若要从xib众加载UI的外观,则:
if
(popupViewController) {
[popupViewController.view removeFromSuperview];
popupViewController = nil;
return;
}
popupViewController = [[UIViewController alloc] initWithNibName:@"View" bundle:nil];
[self.view addSubview:popupViewController.view];
如果需要从底部的动画向上slide in的动画:
UIView *popView = popupViewController.view; CGRect orig = popView.bounds; CGRect screen = [[UIScreen mainScreen] bounds]; [popView setFrame:CGRectMake(0, screen.size.height, orig.size.width, orig.size.height)]; [UIView beginAnimations:@"animatePopView" context:nil]; [UIView setAnimationDuration:0.4]; [popView setFrame:CGRectMake(0, screen.size.height-orig.size.height, orig.size.width, orig.size.height)]; [UIView commitAnimations];
原文:http://www.cnblogs.com/welhzh/p/4318756.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!