我有一个TabBarController应用程序。
这段代码在didFinishingLaunching方法中:
UIImage *buttonImage = [UIImage imageNamed:@"post-button2.png"];
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
NSLog(@"Button size: %f, %f", buttonImage.size.width, buttonImage.size.height);
button.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height);
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
CGFloat heightDifference = buttonImage.size.height - self.tabBarController.tabBar.frame.size.height;
NSLog(@"self.tabBarController.tabBar.frame.size.height: %f", self.tabBarController.tabBar.frame.size.height);
NSLog(@"heightDifference: %f", heightDifference);
NSLog(@"%Tabbar: %f, %f", tabBarController.tabBar.center.x, tabBarController.tabBar.center.y);
if (heightDifference < 0)
button.center = tabBarController.tabBar.center;
else {
CGPoint center = self.tabBarController.tabBar.center;
center.y = center.y - heightDifference/2.0;
button.center = tabBarController.tabBar.center;
}
NSLog(@"%Button: %f, %f", button.center.y, button.center.x);
[tabBarController.view addSubview:button];
[self.window addSubview:tabBarController.view];
[self.window makeKeyAndVisible];
输出结果为:
问题出在哪里?我可以使用硬编码解决:
CGPoint center = tabBarController.tabBar.center;
center.x = 160.00;
center.y = 455.50;
button.center = center;
但我不确定这是否正确。
泰
答案 0 :(得分:0)
要设置选项卡的图像,您需要设置与选项卡关联的viewcontroller的tabBarItem。
请参阅UITabBarItem参考,了解如何使用自定义图像创建一个。
因此,您使用自定义图像创建UITabBarItem对象,然后将其设置为选项卡的viewcontroller的tabBarItem属性。
然后,UITabBarController将管理将图像放在正确的位置。