在iOS中单击按钮弹出uiview
Posted
技术标签:
【中文标题】在iOS中单击按钮弹出uiview【英文标题】:Popup the uiview in button click in iOS 【发布时间】:2015-03-18 12:31:04 【问题描述】:我有一个主视图UIViewController
。在那个视图中放一个UIView
名称loginview 小尺寸(self.loginview.frame = CGRectMake(4,166,306,153);
在主视图 uiviewcontroller 中,如果我单击该按钮,我会放置一个按钮 loginview 想要像弹出窗口一样显示...我怎样才能实现这一点,帮助我在这里代码。
- (IBAction)Regbtn_click:(id)sender
//in this place i want to write the code for login view want come like popup.. help me..
loginview.hidden=false
【问题讨论】:
how to implement a pop up dialog box in ios的可能重复 不,我不需要对话框.. 我需要想要弹出的视图.. 当按钮单击时.. 【参考方案1】:不用设置 loginview 的 hidden 属性,将其 alpha 设置为 0.0 即可使用此动画
-(IBAction)Regbtn_click:(id)sender
//[self.view addSubview:self.loginView]; if your loginview is not added to view, if it is, ignore this line
[UIView animateWithDuration:0.5 animations:^
self.loginView.alpha = 1.0; //to display loginview
completion:^(BOOL finished)
];
【讨论】:
当我单击按钮时,我拒绝了 uiviewcontroller 的 alpha 值。我需要登录视图想要像弹出一样显示...帮助我.. @saravanaa 你是什么意思你拒绝 uiviewcontroller 的 alpha 值? uiviewcontroller 没有 alpha 值,它的视图有。 Alpha = 0 表示视图不可见,将其设置为 1 动画将慢慢使其完全可见。这不是你想要的吗?【参考方案2】:您可以使用两个动画为视图设置动画: 1) 缩放 2) 褪色
View Controller
->Button (Viewcontroller Child)
->LoginWrapperView (Viewcontroller Child)
->black-transparent View (LoginWrapperView Child)
->login View (LoginWrapperView Child)
在屏幕及上方添加黑色半透明视图(我认为不透明度为 0.2),放置您的 loginView 并将其不透明度设置为 0。
[LoginWrapperView SetHidden:YES];
[loginView SetAlpha:0];
[loginView SetFrame:CGRectMake(0,0,0,0)];
现在当你点击按钮时,
[LoginWrapperView SetHidden:NO];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.2];
[UIView setAnimationDelegate:self];
//position on screen
[loginView SetAlpha:1];
[loginView SetFrame:<your CGRect goes here>];
[UIView setAnimationDidStopSelector:@selector(finishAnimation:finished:context:)];
//animate off screen
[UIView commitAnimations];
然后在半透明视图上处理 Tap Getsture 以通过反转具有不同值的相同动画来关闭或隐藏相同。
【讨论】:
我已经向您展示了它应该是什么样子的层次结构以及如何实现它。第一部分显示层次结构,大括号内的文本表示其父级。首先实现这一点,然后遵循其他编码部分。如果您仍有疑问,请随时提问。【参考方案3】:您可以以模态方式推送您的视图或使用像 MZFormSheetController 这样的不错的库来执行此操作。 Here's how it looks like
很简单,只需提出您的观点。您还可以使背景透明和许多其他自定义。
YourPopupViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"PopupView"];
-(IBAction)buttonClick
// present form sheet with view controller
[self mz_presentFormSheetController:vc animated:YES completionHandler:^(MZFormSheetController *formSheetController)
//do your login stuff
];
【讨论】:
以上是关于在iOS中单击按钮弹出uiview的主要内容,如果未能解决你的问题,请参考以下文章