UITabBarController 的子类,替换了 TabBar 并且有显示问题
我有一个使用标准 UITabBarController 构建的 iPhone 应用程序。该应用程序是使用标准 XCode 项目模板创建的。
现在,我需要将 UITabBar 更改为看起来非常不同。我决定采取的方法是这样的:
在我的 AppDelegate 中:
for (UIView *view in tabBarController.view.subviews) {
if([view isKindOfClass:[UITabBar class]]) {
view.hidden = YES;
break;
}
}
这可以使选项卡栏隐藏。接下来,我对 UITabBarController
进行了子类化,并添加了一个带有一些自定义组件的 UIToolbar
。在我的子类 UITabBarController
中,我设置了代码,这样当选择我的自定义对象之一时,代码只需调用 [self setSelectedIndex:n]
即可更新 UI。
所以我基本上有一个 UITabBarController 但我通过一个新的 UI 来控制它。
问题是我的新组件没有正常的 UITabBar 高,并且 UITabBarController 似乎没有自动调整我的视图大小。我实际上期望这种行为,但我不知道如何更改 UITabBarController 的“内容框架”。有什么想法吗?
I have an iPhone app which was built using a standard UITabBarController. This app was created using the standard XCode project template.
Now, I have a requirement to change the UITabBar to look very different. The approach I decided to take was like this:
in my AppDelegate:
for (UIView *view in tabBarController.view.subviews) {
if([view isKindOfClass:[UITabBar class]]) {
view.hidden = YES;
break;
}
}
This works to make the tab bar hidden. Next, I subclassed UITabBarController
and I add a UIToolbar
with a few custom components. In my subclassed UITabBarController
I have my code set up so that when one of my custom objects is selected, the code simply calls [self setSelectedIndex:n]
to update the UI.
So I basically have a UITabBarController but I am controlling it through a new UI.
The problem is that my new components aren't quite as tall as the normal UITabBar
and the UITabBarController seems to be not resizing my views automatically. I actually would expect this behavior, but I can't figure out how to change the "content frame" of a UITabBarController. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用以下代码解决:(
顺便说一句,我知道这段代码有问题,并且会在 iPad 或其他设备上困扰我)。
Resolved with the following code:
(I know this code has issues btw and will come back to haunt me on the iPad or other devices).