2014-10-30 3 views
0

У меня возникает эта странная проблема, которая заставляет меня гать в течение последних нескольких дней. Пробовал различные вещи и трюки, предлагаемые на форуме, но пока не повезло. В основном у меня есть контроллер tabbarview с табличным представлением, когда пользователь нажимает на строку таблицы, которую он занимает на экране подробностей. У меня есть четыре фиксированных кнопки внизу экрана, но эти кнопки не доступны для кликов или не распознают штрихи. Я предполагаю, что это связано с размером основного экрана или рамкой рамки приложения. Если я положу кнопки примерно на CGRectMake (0,330,320,50), то это означает, что у вас осталось около 50 свободного места внизу, после чего они работают. Вот соответствующий код этого вопроса -Нижняя часть UIView не может быть нажата

//Bottom fixed Bar and Buttons// 
self.edgesForExtendedLayout=UIRectEdgeNone; 

UIImageView *lineImg=[[UIImageView alloc]init]; 
//lineImg.frame=CGRectMake(0, 748, 320, 2); 
[lineImg setBackgroundColor:[UIColor colorWithRed:0.9058 green:0.4705 blue:0 alpha:1.0]]; 
[self.view addSubview:lineImg]; 

    addFavBtn=[UIButton buttonWithType:UIButtonTypeCustom]; 
[addFavBtn setBackgroundColor:[UIColor colorWithRed:0.0392 green:0.1686 blue:0.2196 alpha:1.0]]; 
[addFavBtn setTitle:@"Add Fav" forState:UIControlStateNormal]; 
[addFavBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
addFavBtn.titleLabel.textAlignment=NSTextAlignmentCenter; 
addFavBtn.titleLabel.font=[UIFont fontWithName:@"MyriadPro-Regular" size:20]; 
[addFavBtn addTarget:self action:@selector(addFavBtnClick) forControlEvents:UIControlEventTouchUpInside]; 
[self.view addSubview:addFavBtn]; 
addFavBtn.userInteractionEnabled=YES; 



UIImageView *lineImg1=[[UIImageView alloc]init]; 
//lineImg1.frame=CGRectMake(80, 750, 1, 35); 
[lineImg1 setBackgroundColor:[UIColor whiteColor]]; 
[self.view addSubview:lineImg1]; 

shareBtn=[UIButton buttonWithType:UIButtonTypeCustom]; 
//shareBtn.frame=CGRectMake(81, 750, 79, 35); 
[shareBtn setBackgroundColor:[UIColor colorWithRed:0.0392 green:0.1686 blue:0.2196 alpha:1.0]]; 
[shareBtn setTitle:@"Share" forState:UIControlStateNormal]; 
[shareBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
shareBtn.titleLabel.textAlignment=NSTextAlignmentCenter; 
shareBtn.titleLabel.font=[UIFont fontWithName:@"MyriadPro-Regular" size:20]; 
[shareBtn addTarget:self action:@selector(shareBtnClick:) forControlEvents:UIControlEventTouchUpInside]; 
[self.view addSubview:shareBtn]; 

UIImageView *lineImg2=[[UIImageView alloc]init]; 
//lineImg2.frame=CGRectMake(160, 748, 1, 35); 
[lineImg2 setBackgroundColor:[UIColor whiteColor]]; 
[self.view addSubview:lineImg2]; 


reviewBtn=[UIButton buttonWithType:UIButtonTypeCustom]; 
//reviewBtn.frame=CGRectMake(161, 750, 79, 35); 
[reviewBtn setBackgroundColor:[UIColor colorWithRed:0.0392 green:0.1686 blue:0.2196 alpha:1.0]]; 
[reviewBtn setTitle:@"Review" forState:UIControlStateNormal]; 
[reviewBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
reviewBtn.titleLabel.textAlignment=NSTextAlignmentCenter; 
reviewBtn.titleLabel.font=[UIFont fontWithName:@"MyriadPro-Regular" size:20]; 
[reviewBtn addTarget:self action:@selector(reviewBtnClick) forControlEvents:UIControlEventTouchUpInside]; 
[self.view addSubview:reviewBtn]; 

UIImageView *lineImg3=[[UIImageView alloc]init]; 
// lineImg3.frame=CGRectMake(240, 750, 1, 35); 
[lineImg3 setBackgroundColor:[UIColor whiteColor]]; 
[self.view addSubview:lineImg3]; 

helpBtn=[UIButton buttonWithType:UIButtonTypeCustom]; 
//helpBtn.frame=CGRectMake(241, 750, 79, 35); 
[helpBtn setBackgroundColor:[UIColor colorWithRed:0.0392 green:0.1686 blue:0.2196 alpha:1.0]]; 
[helpBtn setTitle:@"Help" forState:UIControlStateNormal]; 
[helpBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
helpBtn.titleLabel.textAlignment=NSTextAlignmentCenter; 
helpBtn.titleLabel.font=[UIFont fontWithName:@"MyriadPro-Regular" size:20]; 
[helpBtn addTarget:self action:@selector(helpViewBtnClick) forControlEvents:UIControlEventTouchUpInside]; 
[self.view addSubview:helpBtn]; 

UIImageView *lineImgLast=[[UIImageView alloc]init]; 
//lineImgLast.frame=CGRectMake(0, 748, 320, 2); 
[lineImgLast setBackgroundColor:[UIColor colorWithRed:0.0392 green:0.1686 blue:0.2196 alpha:1.0]]; 
[self.view addSubview:lineImgLast]; 



imageNameDetailArray=[[NSMutableArray alloc]init]; 
parkListDetailArray=[[NSMutableArray alloc]init]; 
parkListViseDetailArray=[[NSMutableArray alloc]init]; 

self.responseData=[NSMutableData data]; 


//get the size of the screen 
CGSize result = [[UIScreen mainScreen] bounds].size; //to see the actual screen size - returns 568 
CGSize frame = [[UIScreen mainScreen] applicationFrame].size; //to see the application frame size - returns 548 
//UIScreen *screen = [UIScreen mainScreen]; 
//CGRect fullScreenRect = screen.bounds; 

[self.view setAutoresizingMask:UIViewAutoresizingFlexibleHeight]; 

NSLog(@"mainscreen size - %f",result.height); 
NSLog(@"Application frame size - %f",frame.height); 

int newSize=cs+50; 
int fBar=result.height-50; 

homeBg.frame=CGRectMake(0,0, 320, result.height); 

//set the height of the scroller view 
parkViewScrollView.frame=CGRectMake(0, 63, 320, result.height-128); 
parkViewScrollView.contentSize=CGSizeMake(320, newSize); 


lineImg.frame=CGRectMake(0, fBar, 320, 2); 
addFavBtn.frame=CGRectMake(0, fBar+2, 79, 48); 
lineImg1.frame=CGRectMake(80, fBar+2, 1, 48); 
shareBtn.frame=CGRectMake(81, fBar+2, 79, 48); 
lineImg2.frame=CGRectMake(160, fBar+2, 1, 48); 
reviewBtn.frame=CGRectMake(161, fBar+2, 79, 48); 
lineImg3.frame=CGRectMake(240, fBar+2, 1, 48); 
helpBtn.frame=CGRectMake(241, fBar+2, 79, 48); 

http://i.stack.imgur.com/kOp9P.png

+0

Эти кнопки отображаются в вашем связанном изображении, закрывая вкладки контроллера панели вкладок? Если да, то как вы заставили их не оказаться за вкладками? – rdelmar

+0

Вы пытались принести свои взгляды на кнопку перед главным видом? – Gamerlegend

+0

Спасибо за ваш ответ, я пробовал это, но не повезло. В подробном представлении нет представления в виде табуляции - 'code' [self.view bringSubviewToFront: addFavBtn]; [self.view bringSubviewToFront: shareBtn]; [self.view bringSubviewToFront: reviewBtn]; [self.view bringSubviewToFront: helpBtn]; 'code' – Tajuddin

ответ

0

Спасибо всем за ответы. Интересно, что хотя табуляция была скрыта, я не мог использовать это зарезервированное пространство для кнопок. Я использовал следующую строку перед нажатием контроллера представления деталей. Кажется, это работает нормально, и теперь я могу щелкнуть все кнопки.

//this one line of code did the trick after spending hours of time 

objDetailView.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController: objDetailView animated: YES];

Смежные вопросы