- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 StackOverflow 上搜索了几个问题后,我发现只有 1 个用于创建自定义 UITabBar 的主要项目,名为 BCTabBarController
。其描述如下:
There are several problems with using the standard UITabBarController including:
It is too tall, especially in landscape mode
The height doesn't match the UIToolbar
It cannot be customized without using private APIs
尽管如此,我发现this strange project on GitHub与 tutorial here它在其实现中使用标准的 UITabBarController
,每个选项卡都带有 UIButtons
并且它正在工作(很奇怪,但确实如此)。
我想知道,使用 UIButtons
而不是选项卡创建自定义 UITabBarController
是否是错误的,会导致什么结果?其实现如下所示:
- (void)viewDidAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self hideTabBar];
[self addCustomElements];
}
- (void)hideTabBar
{
for(UIView *view in self.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
view.hidden = YES;
break;
}
}
}
-(void)addCustomElements
{
// Initialise our two images
UIImage *btnImage = [UIImage imageNamed:@"NavBar_01.png"];
UIImage *btnImageSelected = [UIImage imageNamed:@"NavBar_01_s.png"];
self.btn1 = [UIButton buttonWithType:UIButtonTypeCustom]; //Setup the button
btn1.frame = CGRectMake(0, 430, 80, 50); // Set the frame (size and position) of the button)
[btn1 setBackgroundImage:btnImage forState:UIControlStateNormal]; // Set the image for the normal state of the button
[btn1 setBackgroundImage:btnImageSelected forState:UIControlStateSelected]; // Set the image for the selected state of the button
btn1.backgroundColor = [UIColor yellowColor];
[btn1 setTag:0]; // Assign the button a "tag" so when our "click" event is called we know which button was pressed.
[btn1 setSelected:true]; // Set this button as selected (we will select the others to false as we only want Tab 1 to be selected initially
在我的项目中,我将使用 iOS 5.1 及更高版本,不使用 Storyboard 或 XIB。谢谢!
最佳答案
自 iOS 5.0 起,使用屏幕底部的一行 UIButtons
创建自己的 UITabBarController
不再是问题。
在以前版本的 iOS SDK 中,这有点冒险,因为您必须自己管理 viewWill/viewDid
方法的转发。
看看UIViewController
类引用,实现容器 View Controller 部分,你会在那里找到你需要的一切:UIViewController Class Reference
还有一篇专题文章准确解释了您的需求:Creating Custom Container View Controllers
希望这会有所帮助,
关于iphone - 在没有私有(private) API 的情况下实现自定义 UITabBarController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15201870/
我正在开发一个广播流应用程序,应用程序底部有 2 个 UITabBarController 按钮。一种用于直播,一种用于前 40 名列表。 我为这两个选项卡使用了一个通用的 StreamingView
我有一个 UINavigationController在我的 UITabBarController 的根目录中.我还有一个 UITabBarController我现在在现有的 UITabBarCont
我最近升级到 xcode 4。我的应用程序使用 tabbarcontroller。在旧的 xcode 3.x 中,您可以根据此屏幕截图将选项卡更改为不同类型: 根据我在研究此问题时收集到的信息,xco
我使用包含 3 个项目的 Storyboard创建了一个 UITabBarController,前两个是 View Controller 。我需要第三项指向另一个 UITabBarController
好的,这就是场景: 我有一个选项卡栏应用程序,每个选项卡中都有一个 UINavigationController。假设我有两个选项卡:“主页”和“退出”。在“主页”中,用户遵循基于 UINavigat
我有自己的 UITabBarViewController 子类。是否可以更改所有嵌入式 View Controller View 的框架,以便自己的 UITabBarViewController Vi
滚动时选择顶部的菜单项。我希望用户突出显示一个项目,然后单击它以选择它。 -> 当用户移动到其他菜单项时,选定的蓝色会随之移动(跟随光标)。如果用户单击该项目,则选定的蓝色将被新项目替换,如果不是在用
我正在尝试以编程方式更改我的应用程序中标签栏项目的名称。 在我的 Storyboard 我有一个 UITabBarController 设置为初始 View ,层次结构如下: UITabBarCont
我正在使用包含 3 个项目的 UITabBarController,并且很好奇如果我位于第二个或第三个选项卡上,如何从第一个选项卡访问方法。我遇到的问题是我在第一个选项卡上有一个 UIImageVie
我希望在 iOS 中实现一个自定义选项卡栏,其中所选项目的尺寸大于其余选项卡的大小,并查看类似于此屏幕截图的内容。 有人可以指出如何最好在 Swift 中完成此任务的教程吗? 最佳答案 我多次面临这个
我正在制作一个自定义的东西,它的工作方式应该与 UITabBarController 类似——一个管理子 ViewController 的 UIViewController。父 UIViewContr
我有一个 viewController,它正在作为 UITabBarController 上的选项卡加载。 我如何知道在 viewController 类中,有多少区域可用于显示此 viewContr
我想在UITabbarController中输入一个按钮来处理事件作为instagram应用程序的标签栏。 此链接中的图片: http://itunes.apple.com/us/app/instag
我有一个 UIViewController,其中包含一个带有三个选项卡的 UITabBarController(每个选项卡都是一个 UINavigationController)。 我遇到的问题是,在
我在使用 UITabBarController 时遇到了真正的问题。我追求的结果如下:1)在纵向模式下,一个简单的基于选项卡栏的应用程序(带有导航栏)没什么特别的。2)在横向模式下,我想使用自己的 U
UITabBarController 不允许横向。所以我使用了 UITabBarContoller 的子类(称为 RotatingTabBarController)。其唯一目的是通过向 shouldA
是否可以用动画隐藏它? 最佳答案 UITabBar 继承自 UIView,因此您可以像使用标准 UIView 一样隐藏它并为其设置动画。 - (void) hideTheTabBarWithAnima
UITabBarController是否可以在代码中选择选项卡?就像UINavigationController一样我们可以使用popViewController弹回rootViewControlle
我需要更改 UITabBarController 的“更多”按钮显示的列表的字体大小和背景颜色。是否可以 ?我该怎么做 ?非常感谢。 最佳答案 UITabBarController 有一个名为 mor
我正在尝试将股票UITabBar的高度更改为44px,类似于Tweetbot的标签栏高度。我也看到其他一些应用程序也可以这样做。 但是,当我尝试设置高度时,它仍然保持不变 self.tabBar.fr
我是一名优秀的程序员,十分优秀!