在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的主要内容,如果未能解决你的问题,请参考以下文章

从弹出控制器ios获取按钮控制

ios在按钮单击时更改背景

弹出窗口未出现在 iOS 中

ios系统word没有自动滚动

iOS 弹出框在关闭后不会消失

iOs后台线程中的函数调用