我的目标是在工具栏中的栏按钮上创建一个简单的弹出窗口视图。显然Apple不希望我在我的iPhone上创建它。但我已经看到了其他应用程序熟悉的东西。 因此,我不想使用Apple的UIPopOver,而是创建一个单击条形按钮时出现的UIView。再次点击它时会消失。如果我也可以创建指向按钮的小箭头(你知道我指的是哪个箭头:D),它会超过顶部。但目前这不相关。我只是想创建这个“popover出现并使用相同的按钮消失”。我知道的“解决方案”不是解决方案:
- (IBAction)buttonPressed:(id)sender
{
UIView *myPopOverView = [[UIView alloc] initWithFrame:CGRectMake(25, 25, 500, 250)];
myPopOverView.alpha = 0.0;
myPopOverView.layer.cornerRadius = 5;
myPopOverView.layer.borderWidth = 1.5f;
myPopOverView.layer.masksToBounds = YES;
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self
action:@selector(testNSLog)
forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Show myPopOverView" forState:UIControlStateNormal];
button.frame = CGRectMake(10, 10, 100, 30);
[myPopOverView addSubview:button];
[self.view addSubview:myPopOverView];
[UIView animateWithDuration:0.4 animations:^{
[myPopOverView setAlpha:1.0];
} completion:^(BOOL finished) {}];
}
所以我不知道如何使用这个代码片段来做到这一点。它会立刻出现在我想要的地方。但我不知道如何创建这个切换。我尝试了一个简单的Bool-If-Toggle,但它没有用。我也不知道如何从我的视角中删除它。 你能帮帮我吗?
提前致谢!
答案 0 :(得分:0)
好的,我解决了。
我在.h-File中定义了一个UIView并在ViewDidLoad中实例化它,然后我做了:
- (IBAction)buttonPressed:(id)sender
{
if (showedOptions == NO) {
[self.view addSubview:self.popoverView];
[UIView animateWithDuration:0.4 animations:^{
[self.popoverView setAlpha:1.0];
} completion:^(BOOL finished) {}];
showedOptions = YES;
return;
} else {
showedOptions = NO;
[self.popoverView removeFromSuperview];
}
}