このコードをタブ バー クラスとして使用しています。これにより、より大きな中央ボタンを備えたカスタム タブ バーが得られます。私の問題は、タブバーを非表示にしようとすると、タブバーが消えますが、中央のボタンの画像は表示されたままです。タブバーで中央のボタンを非表示にするにはどうすればよいですか?
[self addCenterButtonWithImage:[UIImage imageNamed:@"hood.png"] highlightImage:[UIImage imageNamed:@"hood-selected.png"] target:self action:@selector(buttonPressed:)];
....
- (void)addCenterButtonWithImage:(UIImage *)buttonImage highlightImage:(UIImage *)highlightImage target:(id)target action:(SEL)action
{
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
button.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin;
button.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height);
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
[button setBackgroundImage:highlightImage forState:UIControlStateHighlighted];
CGFloat heightDifference = buttonImage.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;
}
[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
}
アップデート:
私が書いた別のクラスから:
TabBarController *blah = [[WBTabBarController alloc]init];
[blah hideButton];
....
TabBarController.h:
@property (nonatomic, strong) UIButton* button;
TabBarController.m:
self.button = button;
...
-(void)hideButton
{
_button.hidden = YES;
NSLog(@"Test!!!");
}
しかし、うまくいきません。_button.hidden = YES;
TabBarController の viewDidLoad を入れると、ボタンは非表示になります。