이 까다로운 구현을 필요로한다. 여기 하나 있습니다. 응용 프로그램의 탭 표시 줄에 단추를 추가 할 수 있습니다. 그 까다 롭지 만 작동합니다.
이 경우 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. 그러나 앱 스토어 제출 가이드 라인에 대해 조심하십시오. 이 시도.
http://stackoverflow.com/questions/2576592/changing-font-size-of-tabbaritem –
setTitleTextAttributes가 기록 할 때 UR 자신의 tababrcontroller –
@AmanAggarwal를 잘해야 crashes.You 그 이유는, IOS 4.3 availabel되지 않는다 내 자신의 tabbarcontroller 나는 appdelegate에서 그것을 쓰고 있어요. 어떻게 내 자신의 tabbarcontroller 쓸 수 있습니까? – Aaradhya