Позиция подпредставления на родительском представлении iPhone - PullRequest
0 голосов
/ 23 декабря 2011

Я использую такую ​​строку меню (используя UIBUTTONS в ImageView)

enter image description here

Теперь мне нужно, чтобы при нажатии на каждую кнопку всплывающее окно (подпредставление) отображалось следующим образом:

enter image description here

Как я могу это сделать?

Мой второй вопрос заключается в том, что когда я нажимаю на ту же кнопку или в любом другом месте представления, всплывающее окно должно скрываться, а если я нажимаю на другую кнопку меню, всплывающее окно должно скрываться от предыдущей кнопки и должно отображаться на другой кнопке. ..

Мой проект уже создан с помощью UIviewcontroller, поэтому я думаю, что было бы очень трудно включить панели вкладок

любая помощь, пожалуйста ...

-(IBAction)buttonNotify:(id)sender{

popOver.frame = CGRectMake(173, 385, 88, 33);

[self.view addSubview:popOver];

}

Ответы [ 2 ]

0 голосов
/ 23 декабря 2011

В .h файле вашего ViewController объявите

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, чтобы скрыть его

Также выМожно добавить анимацию.

0 голосов
/ 23 декабря 2011
    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];  

}
...... 

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...