Tabbalar kimi davranan 4 Dəyirmi Rect düyməsini necə tətbiq edə bilərəm?

Üst və naviqasiya çubuğunun altında bir naviqasiya çubuğuna malik olan bir tətbiq yaratmağa çalışıram. Nişanlar kimi görünən 4 düyməni əlavə etmək istəyirəm. Şəkilli çubanı istifadə etməyin, çünki Apple CONDITION. Çünki alma yalnız View altındakı tabulasyondan istifadə etməyi məsləhət görür. Yuxarıdan istifadə etmək istəyirəm (naviqasiya çubuğunun altında). mən bunun üçün 4 xüsusi düyməni istifadə edirəm. Düymələrə uyğun olaraq yaradılmış push-pop-views üçün naviqasiya nəzarətçisini istifadə edirəm. Panelin necə tətbiq ediləcəyini izah edə bilərsiniz. düymələr nişan elementləri kimi işləyəcək.

-12
26 февр. Wise 26 fevralda təyin olundu 2013-02-26 08:54 '13 at 8:54 2013-02-26 08:54
@ 4 cavab

Yalnız tam kodla yoxlayın. bir panel nəzarətçi kimi çıxış edir.

 localViewControllersArray = [[NSMutableArray alloc] initWithCapacity:0]; AllRumsController *allRumsScreen=[[AllRumsController alloc]init]; RumRecipesController *rumRecipesScreen =[[RumRecipesController alloc] init]; PartyPlannerClass *aPartyPlannerScreen =[[PartyPlannerClass alloc] init]; BarTendingClass *aBarTendingScreen =[[BarTendingClass alloc] init]; MoreControllersClass *moreControllerScreen =[[MoreControllersClass alloc] init]; controllersArray = [[NSArray alloc]initWithObjects:allRumsScreen,rumRecipesScreen,aPartyPlannerScreen,aBarTendingScreen,moreControllerScreen,nil]; for(int i=0;i<[controllersArray count];i++) { UINavigationController *localNavigationController=[[UINavigationController alloc]initWithRootViewController:[controllersArray objectAtIndex:i]]; localNavigationController.navigationBar.barStyle = UIBarStyleBlackOpaque; if(!i) [localNavigationController setTitle:@"All Rums"]; else if(i ==1) [localNavigationController setTitle:@"Recipes"]; else if(i ==2) [localNavigationController setTitle:@"PartyPlanner"]; else if(i ==3) [localNavigationController setTitle:@"BarTending"]; else [localNavigationController setTitle:@"More"]; localNavigationController.navigationBar.hidden = YES; [localViewControllersArray addObject:localNavigationController]; [localNavigationController release]; } [allRumsScreen release]; [rumRecipesScreen release]; [aPartyPlannerScreen release]; [aBarTendingScreen release]; [moreControllerScreen release]; if(contentView == nil) { contentView = [[UIView alloc] initWithFrame:CGRectMake(0,0,MAX_WIDTH, 431)]; contentView.backgroundColor = [UIColor clearColor]; } if(bottomView == nil) { bottomView = [[UIView alloc] initWithFrame:CGRectMake(0,431,MAX_WIDTH, 49)]; bottomView.backgroundColor = [UIColor clearColor]; } allButtonsArray = [[NSMutableArray alloc]initWithCapacity:0]; for(int i=0;i<[localViewControllersArray count];i++) { UIButton *aButton=[UIButton buttonWithType:UIButtonTypeCustom]; aButton.frame=CGRectMake(i*64,0,64,49); [aButton setTag:i]; if(!i) { [aButton setImage:[UIImage imageNamed:@"ourrums_n.png"] forState:UIControlStateNormal]; [aButton setImage:[UIImage imageNamed:@"ourrums_a.png"] forState:UIControlStateHighlighted]; [aButton setImage:[UIImage imageNamed:@"ourrums_n.png"] forState:UIControlStateDisabled]; } else if(i ==1) { [aButton setImage:[UIImage imageNamed:@"Recipies_n.png"] forState:UIControlStateNormal]; [aButton setImage:[UIImage imageNamed:@"Recipies_a.png"] forState:UIControlStateHighlighted]; [aButton setImage:[UIImage imageNamed:@"Recipies_n.png"] forState:UIControlStateDisabled]; }else if(i ==2) { [aButton setImage:[UIImage imageNamed:@"myevents_n.png"] forState:UIControlStateNormal]; [aButton setImage:[UIImage imageNamed:@"myevents_a.png"] forState:UIControlStateHighlighted]; [aButton setImage:[UIImage imageNamed:@"myevents_n.png"] forState:UIControlStateDisabled]; }else if(i ==3) { [aButton setImage:[UIImage imageNamed:@"bartending_n.png"] forState:UIControlStateNormal]; [aButton setImage:[UIImage imageNamed:@"bartending_a.png"] forState:UIControlStateHighlighted]; [aButton setImage:[UIImage imageNamed:@"bartending_n.png"] forState:UIControlStateDisabled]; }else { [aButton setImage:[UIImage imageNamed:@"more_n.png"] forState:UIControlStateNormal]; [aButton setImage:[UIImage imageNamed:@"more_a.png"] forState:UIControlStateHighlighted]; [aButton setImage:[UIImage imageNamed:@"more_n.png"] forState:UIControlStateDisabled]; } [aButton addTarget:self action:@selector(showViewOfButton:) forControlEvents:UIControlEventTouchUpInside]; [allButtonsArray addObject:aButton]; [bottomView addSubview:aButton]; } [[[[UIApplication sharedApplication] delegate] window] addSubview:contentView]; [[[[UIApplication sharedApplication] delegate] window] addSubview:bottomView]; [bottomView setHidden:YES]; [contentView setHidden:YES]; [self showViewOfButton:[allButtonsArray objectAtIndex:0]]; -(void)showViewOfButton:(id)sender { if(start == YES) { start = NO; [repeat setTag:[sender tag]]; } else if([repeat tag] == [sender tag]) { return; } else { [repeat setTag:[sender tag]]; } if(previous!=nil) { [previous setImage:[previous imageForState:UIControlStateDisabled] forState:UIControlStateNormal]; } if( [[contentView subviews] count] ) { if([[RumsDataHolder sharedHolder] mailController]) { [[[[RumsDataHolder sharedHolder] mailController] retain] dismissModalViewControllerAnimated:NO]; } [[[contentView subviews] objectAtIndex:0] removeFromSuperview]; } if( ((UIView *)sender).tag == 0) { [sender setImage:[UIImage imageNamed:@"ourrums_a.png"] forState:UIControlStateNormal]; [contentView addSubview:[[localViewControllersArray objectAtIndex:0] view]]; } else if( ((UIView *)sender).tag == 1) { [sender setImage:[UIImage imageNamed:@"Recipies_a.png"] forState:UIControlStateNormal]; [contentView addSubview:[[localViewControllersArray objectAtIndex:1] view]]; } else if(((UIView *)sender).tag == 2) { [sender setImage:[UIImage imageNamed:@"myevents_a.png"] forState:UIControlStateNormal]; [contentView addSubview:[[localViewControllersArray objectAtIndex:2] view]]; } else if( ((UIView *)sender).tag == 3) { [sender setImage:[UIImage imageNamed:@"bartending_a.png"] forState:UIControlStateNormal]; [contentView addSubview:[[localViewControllersArray objectAtIndex:3] view]]; } else if(((UIView *)sender).tag == 4) { [sender setImage:[UIImage imageNamed:@"more_a.png"] forState:UIControlStateNormal]; [contentView addSubview:[[localViewControllersArray objectAtIndex:4] view]]; } else ; previous=sender; } 
0
26 февр. Cavab Madhu 26 Fevral verilir. 2013-02-26 09:09 '13 at 9:09 2013-02-26 09:09

Bir tablet paneli nəzarətçi kimi davranmaq üçün sekme redaktoru proqramı üçün eyni addımları əməl edin,

Nişanı yaradın

UIButton klikləməsini istədiyiniz hər UIViewController üçün bir nümunə yaradın, UINavigationController və bütün obyektləri NSArray üçün UINavigationController kimi əlavə edin və bu _tabBarController.viewControllers a _tabBarController.viewControllers , sonra self.window üçün self.window əlavə self.window

Xüsusi görünüş yaradın

indi görünüşündə _tabBarController mövqeyi ilə eyni kvadrat ilə bir UIView yaradın, _tabBarController'da göstərmək istədiyiniz UIButton əlavə edin, düyməsi hər hansı bir fon şəkilləri üçün özelleştirilebilir və ya istifadəçi interfeysi ilə tələbinizə uyğun ola bilər, bütün bu düymələri UIView və nəhayət, bu görünüşdə obyektin self.window alt self.window keçirilməsi. Bundan əvvəl, istənilən düymələri olan xüsusi bir görünüşün görünüşü olacaq, indi bir panoya bənzəyir.

border=0

Hər bir əlavə düyməyə bir hərəkət əlavə etməyi unutmayın, aksiyanın həyata keçirilməsi,

 - (void)select_tab:(UIButton *)sender { _tabBarController.selectedIndex = sender.tag; //_tabBarController is object of UITabBarController } 

Hər bir düymənin müəyyən bir etiket dəsti olması zəruridir, bu etiketlər mövcud cədvəlləşdirmə indeksinin indeksləri kimi işləyəcəkdir, belə ki, görünüşü nəzarət edənləri diziyə əlavə etmək üçün bir etiket verin, düyməni etiketi 0 (sıfır) əsas göstəricidən maksimuma nəzarətçiləri görün.

Nədir, ümid edirəm kömək edir!

0
26 февр. Cavab fevralın 26-da Hemang tərəfindən verilir . 2013-02-26 09:19 '13 'da 9:19 2013-02-26 09:19

UIbuttons istifadə və ya bütün UITabbarController çağırmaq yerinə UITabbarController niyə UITabbartabbar items istifadə UITabbar tabbar items Burada kod ... Bu sizi məcbur etməlidir :)

  UITabBar *tabBar = [[UITabBar alloc] initWithFrame:CGRectMake(your frame)]; NSMutableArray *tabBarItemsArray= [[NSMutableArray alloc] init]; UITabBarItem *tabBarItem1 = [[UITabBarItem alloc] initWithTitle:@"artist" image:[UIImage imageNamed:@"artist-tab.png"] tag:1];//assigning the title name and image [tabBarItem1 setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor colorWithRed:48.0/255.0 green:60.0/255.0 blue:109.0/255.0 alpha:1.0],UITextAttributeTextColor,nil] forState:UIControlStateNormal];//set the color when the tabbar appears [tabBarItem1 setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor,nil] forState:UIControlStateSelected];//sets the color when the tabbar is selected UITabBarItem *tabBarItem2 = [[UITabBarItem alloc] initWithTitle:@"Facebook" image:[UIImage imageNamed:@"music-tab.png"] tag:2]; [tabBarItem2 setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor colorWithRed:48.0/255.0 green:60.0/255.0 blue:109.0/255.0 alpha:1.0],UITextAttributeTextColor,nil] forState:UIControlStateNormal]; [tabBarItem2 setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor,nil] forState:UIControlStateSelected]; [tabBarItemsArray addObject:tabBarItem1]; [tabBarItemsArray addObject:tabBarItem2]; tabBar.items = tabBarItemsArray; tabBar.delegate = self; [self.view addSubview:tabBar]; 

Bu metodu həyata keçirmək üçün UITabBarDelegate nümayəndəsini başlıq dosyanıza əlavə etdiyinizə əmin olun.

  - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{ NSLog(@"Tabbar selected itm %d",item.tag); // here you can call your view based on tab click you can try using switch statements here based on item.tag } 

Ümid edirəm bu sizin sualınıza cavab verir və kömək edir :)

Bundan əlavə, biz UITabbar'ı bir şəkil ilə fərdiləşdirə bilərik ... mənə bildirin. İstəsəniz kodu buraya göndərəcəyəm.

0
26 февр. Cavab Dalee Davisə verildi 26 Fevral. 2013-02-26 09:10 '13 da 9:10 2013-02-26 09:10

sizə lazım olanı edə bilərsiniz.

  • Xibin altındakı 4 dəyirmi Rect düyməsini yerləşdirin.
  • hər bir düyməyə 4 dərs yaratmaq və düymələri ilə IBAction keçin. İndi animasiya olmadan basın və pop edə bilərsiniz: -

[self.navigationController pushViewController:ObjYourViewcontroler animated:NO];

və pop kimi: -

[self.navigationController popViewControllerAnimated:NO];

0
26 февр. cavab Nitin Gohel 26 fevral. 2013-02-26 08:59 '13 at 8:59 2013-02-26 08:59

etiketləri ilə bağlı digər suallar və ya bir sual