我正在使用这样的菜单栏(在ImageView上使用UIBUTTONS)
现在我需要做的是,当我点击每个按钮时,弹出窗口(子视图)会出现如下:
我该怎么做?
我的第二个问题是,当我点击同一个按钮或视图上的任何其他位置时,弹出窗口应该隐藏,如果我点击另一个菜单按钮弹出窗口应该从上一个按钮隐藏,并应显示在其他按钮上。 ..
我的项目已经使用UIviewcontroller创建,所以我认为包含标签栏会很困难
任何帮助请...
-(IBAction)buttonNotify:(id)sender{
popOver.frame = CGRectMake(173, 385, 88, 33);
[self.view addSubview:popOver];
}
答案 0 :(得分:0)
menu1Btn.tag = 0;
menu2Btn.tag = 1;
....
-(IBAction)buttonNotify:(id)sender{
int tag = [sender tag];
[popOver removeFromSuperView];
if(tag ==0){
popOver.frame = CGRectMake(0, 385, 88, 33);
[self.view addSubview:popOver];
}
else if(tag ==1){
popOver.frame = CGRectMake(40, 385, 88, 33);
[self.view addSubview:popOver];
}
else if(tag ==2){
popOver.frame = CGRectMake(80, 385, 88, 33);
[self.view addSubview:popOver];
}
......
}
答案 1 :(得分:0)
在ViewController声明的.h文件中
UIImageView *popupView`;
在初始化的.m文件中初始化它,类似于
popupView = [[UIImageView alloc] initWithImage:@"your_image.png"];
popUpView.frame = //some CGRect here//;
popUpView.hidden = YES;
[self.view addsubView:popupView];
[popupView release];
另外,当你创建按钮时,你会这样做,是吗?
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = //some CGRect here//;
btn.tag = 1; // here you can set numeric tag for all your buttons
[btn addTarget:self action:@selector(buttonHandler:)forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
[btn release]
并实施方法
-(void)buttonHandler:(id)sender
{
//sender here is your button object
//so you can take it's tag or frame or something else to set frame of popupView
popUpView.frame = //some rect
popUpView.hidden = NO;
}
当你触摸视图时,请设置
popupView.hidden = YES
隐藏它
您还可以添加一些动画。