2013-04-02 5 views
0

나는 UITabbar를 가지고 있고 ios> 5에서 잘 작동하는 모양을 사용자 정의하고 있습니다. 그러나 iphone 4.3 시뮬레이터에서 동일한 것을 실행하면 tabbar 모양으로 인해 충돌이 발생합니다.ios 4.3의 Tabbar 항목 모양

for(UIViewController *tab in tabBarController1.viewControllers) 

     { 
      [tab.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
                [UIFont fontWithName:@"Arial" size:16.0], UITextAttributeFont, nil] 
              forState:UIControlStateNormal]; 
     } 

어떻게 아이폰 4.3 시뮬레이터에서도 같은 모양을 얻을 수 있습니까? forState : 제목의 텍스트가 주어진 제어 상태 속성을 설정

어떤 도움이 감지 될 것이다 ...

+0

http://stackoverflow.com/questions/2576592/changing-font-size-of-tabbaritem –

+2

setTitleTextAttributes가 기록 할 때 UR 자신의 tababrcontroller –

+0

@AmanAggarwal를 잘해야 crashes.You 그 이유는, IOS 4.3 availabel되지 않는다 내 자신의 tabbarcontroller 나는 appdelegate에서 그것을 쓰고 있어요. 어떻게 내 자신의 tabbarcontroller 쓸 수 있습니까? – Aaradhya

답변

0

@Aman 가르 왈 답을 준

사과 문서는

setTitleTextAttributes 말한다 . ... 가용성 iOS 5.0 이상에서 사용할 수 있습니다.

아이폰 OS 5.0에서만 사용할 수

이후

+0

좋아, 나는 그것이 5 이상에서 사용할 수있는 것으로 나타났습니다. 그러나 일부 대안을 달성 할 수 있습니다 동일한 외관이지만 4.3.i의 다른 속성은 그것을 알고 싶습니까? – Aaradhya

+0

내가 생각하는 해결 방법을 찾을 수 있지만 앱 스토어에 게시해야하는 경우 제출 프로세스를 통과하게됩니다. – HpTerm

0

이 까다로운 구현을 필요로한다. 여기 하나 있습니다. 응용 프로그램의 탭 표시 줄에 단추를 추가 할 수 있습니다. 그 까다 롭지 만 작동합니다.

이 경우 UITabBarController의 서브 클래스를 만들어야합니다. 이것은 작동

#import "BaseViewController.h" 
#import "AppDelegate.h" 

@implementation BaseViewController 
// Create custom UIButtons and add it to the tab bar 

-(void) addButtons 
{ 
    UIImageView *backgroundImage = [[UIImageView alloc] initWithFrame: CGRectMake(20, 0, 330, 60)]; 
    [backgroundImage setImage: [UIImage imageNamed: @"bottom.png"]]; 
    [backgroundImage setCenter: self.tabBar.center]; 
    [self.view addSubview: backgroundImage]; 
    [backgroundImage release]; 

    UIButton *firstTabbarButton = [UIButton buttonWithType: UIButtonTypeCustom]; 
    firstTabbarButton.frame = CGRectMake(20.0, 52.0, 68, 49); 
    [firstTabbarButton setBackgroundImage:[UIImage imageNamed: @"home_normal.png"] forState:UIControlStateNormal]; 
    [firstTabbarButton setBackgroundImage:[UIImage imageNamed: @"home_normal.png"] forState:UIControlStateHighlighted]; 
    [firstTabbarButton setBackgroundImage:[UIImage imageNamed: @"home.png"] forState:UIControlStateSelected]; 
    [firstTabbarButton addTarget: self action: @selector(goButtonClicked:) forControlEvents: UIControlEventTouchUpInside]; 
    [firstTabbarButton setCenter: CGPointMake(33, self.tabBar.center.y)]; 
    [firstTabbarButton setTag: 1000]; 
    [firstTabbarButton setAdjustsImageWhenHighlighted: NO]; 
    [self.view addSubview: firstTabbarButton]; 

    UIButton *secondTabbarButton = [UIButton buttonWithType: UIButtonTypeCustom]; 
    secondTabbarButton.frame = CGRectMake(20.0, 52.0, 68, 49); 
    [secondTabbarButton setBackgroundImage:[UIImage imageNamed: @"lab_normal.png"] forState:UIControlStateNormal]; 
    [secondTabbarButton setBackgroundImage:[UIImage imageNamed: @"lab_normal.png"] forState:UIControlStateHighlighted]; 
    [secondTabbarButton setBackgroundImage:[UIImage imageNamed: @"lab_hover.png"] forState:UIControlStateSelected]; 
    [secondTabbarButton addTarget: self action: @selector(goButtonClicked:) forControlEvents: UIControlEventTouchUpInside]; 
    [secondTabbarButton setCenter: CGPointMake(96, self.tabBar.center.y)]; 
    [secondTabbarButton setTag: 1001]; 
    [secondTabbarButton setAdjustsImageWhenHighlighted: NO]; 
    [self.view addSubview: secondTabbarButton]; 

    UIButton *thirdTabbarButton = [UIButton buttonWithType: UIButtonTypeCustom]; 
    thirdTabbarButton.frame = CGRectMake(20.0, 52.0, 68, 49); 
    [thirdTabbarButton setBackgroundImage:[UIImage imageNamed: @"others.png"] forState:UIControlStateNormal]; 
    [thirdTabbarButton setBackgroundImage:[UIImage imageNamed: @"others.png"] forState:UIControlStateHighlighted]; 
    [thirdTabbarButton setBackgroundImage:[UIImage imageNamed: @"others_hover.png"] forState:UIControlStateSelected]; 
    [thirdTabbarButton addTarget: self action: @selector(goButtonClicked:) forControlEvents: UIControlEventTouchUpInside]; 
    [thirdTabbarButton setCenter: CGPointMake(287, self.tabBar.center.y)]; 
    [thirdTabbarButton setTag: 1004]; 
    [thirdTabbarButton setAdjustsImageWhenHighlighted: NO]; 
    [self.view addSubview: thirdTabbarButton]; 

    UIButton *forthTabbarButton = [UIButton buttonWithType: UIButtonTypeCustom]; 
    forthTabbarButton.frame = CGRectMake(20.0, 52.0, 68, 49); 
    [forthTabbarButton setBackgroundImage:[UIImage imageNamed: @"history_normal.png"] forState:UIControlStateNormal]; 
    [forthTabbarButton setBackgroundImage:[UIImage imageNamed: @"history_normal.png"] forState:UIControlStateHighlighted]; 
    [forthTabbarButton setBackgroundImage:[UIImage imageNamed: @"history.png"] forState:UIControlStateSelected]; 
    [forthTabbarButton addTarget: self action: @selector(goButtonClicked:) forControlEvents: UIControlEventTouchUpInside]; 
    [forthTabbarButton setCenter: CGPointMake(223, self.tabBar.center.y)]; 
    [forthTabbarButton setAdjustsImageWhenHighlighted: NO]; 
    [forthTabbarButton setTag: 1003]; 
    [self.view addSubview: forthTabbarButton]; 

    UIImage *centerImage = [UIImage imageNamed:@"go_btn.png"]; 
    UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    button.frame = CGRectMake(0.0, 52.0, 62, 62); 
    [button setTag: 1002]; 
    [button setBackgroundImage:centerImage forState:UIControlStateNormal]; 
    [button setBackgroundImage:highlightImage forState:UIControlStateSelected]; 
    [button addTarget: self action: @selector(goButtonClicked:) forControlEvents: UIControlEventTouchUpInside]; 

    CGFloat heightDifference = button.frame.size.height - self.tabBar.frame.size.height; 

    if (heightDifference < 0) 
     button.center = self.tabBar.center; 
    else 
    { 
     CGPoint center = self.tabBar.center; 
     center.y = center.y - heightDifference/2.0; 
     button.center = center; 
    } 

    [self.view addSubview:button]; 
} 

@end 

BaseViewController.h 같은

뭔가

@interface BaseViewController : UITabBarController 
{ 
} 

// Create custom UIButtons and add it to the tab bar 
-(void) addButtons; 

@end 

BaseViewController.m. 그러나 앱 스토어 제출 가이드 라인에 대해 조심하십시오. 이 시도.