高分求教,关于uitab的选项卡刷新问题!

狼烟辉 2015-08-15 01:48:29
简单描述一下,底部有个自定义的UITABCONTRO,有5个选项,中间一个选项卡点击后弹出有三个按钮的VIEW,点击不同按钮,加载不同的viewcotrollor。这个是我要实现的效果。
1,我在uitab的viewControllors里面尝试加了7个viewControllor,在点击按钮后直接selectIndex设置到5和6即可,但是这样会出现uitab的more按钮,我原意在效果上只显示5个选项卡,这样的化效果就很差了。
2,在uitab的viewControllors里只加了5个选项卡,设置一个全局ID,点的时候加载一个middlecontrollor,在此middlecontrollor里面根据全局ID,来加载不同的controllor.达到效果。这种情况就是middlecontrollor加载后莫法刷新,导致第二次点击按钮后,因为之前的没有释放,无法刷新到新的controllor下面.
3,在点击按钮后,直接重新加载一下所有的viewcontrollors,这样达到效果,但是所有的选项卡再次点击又会重新加载一遍,不够友好。
实际上,想请教一下,怎么刷新tab单独选项卡后面的cotrollor?
或者怎么样才能实现我要的这种选项卡效果。
...全文
145 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
胜负多少 2015-08-16
  • 打赏
  • 举报
回复
引用 9 楼 wolf_y 的回复:
[quote=引用 7 楼 pppppp11 的回复:] [quote=引用 5 楼 wolf_y 的回复:] 实际上是类似这个效果,点击弹出按钮,tab加载新的controllor的效果。 我现在整体用的就是自定义的uitabcontrollor,用的一个view上,添加的按钮及事件。。然后动态弹出一个框,上面放三个按钮。 实现起来有BUG,求教啊!
你说出现more按钮是什么样子的[/quote] 类似这个样子 [/quote]这个tabbar你自己写的吗?因为你这个tabbarcontroller的子控制器比较多,而且下面切换子控制器的button有好几种,因此想要做很好的去耦是很难了。 如果你有7个子控制器,自己先继承重写一个tabbarcontroller,添加7个自控制器,但是在这个tabbarcontroller中删除所有的tabbarbutton: - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; // 删除系统自动生成的UITabBarButton for (UIView *child in self.tabBar.subviews) { if ([child isKindOfClass:[UIControl class]]) { [child removeFromSuperview]; } } } 然后自定义一个tabbar,添加对应的按钮(按钮最好也继承重写),根据按钮的tag,就可以切换子控制器了(添加一个代理属性告诉你重写的那个tabbarcontroller)
狼烟辉 2015-08-16
  • 打赏
  • 举报
回复
引用 7 楼 pppppp11 的回复:
[quote=引用 5 楼 wolf_y 的回复:]

实际上是类似这个效果,点击弹出按钮,tab加载新的controllor的效果。
我现在整体用的就是自定义的uitabcontrollor,用的一个view上,添加的按钮及事件。。然后动态弹出一个框,上面放三个按钮。
实现起来有BUG,求教啊!
你说出现more按钮是什么样子的[/quote]
类似这个样子
狼烟辉 2015-08-16
  • 打赏
  • 举报
回复
引用 10 楼 pppppp11 的回复:
[quote=引用 9 楼 wolf_y 的回复:] [quote=引用 7 楼 pppppp11 的回复:] [quote=引用 5 楼 wolf_y 的回复:] 实际上是类似这个效果,点击弹出按钮,tab加载新的controllor的效果。 我现在整体用的就是自定义的uitabcontrollor,用的一个view上,添加的按钮及事件。。然后动态弹出一个框,上面放三个按钮。 实现起来有BUG,求教啊!
你说出现more按钮是什么样子的[/quote] 类似这个样子 [/quote]这个tabbar你自己写的吗?因为你这个tabbarcontroller的子控制器比较多,而且下面切换子控制器的button有好几种,因此想要做很好的去耦是很难了。 如果你有7个子控制器,自己先继承重写一个tabbarcontroller,添加7个自控制器,但是在这个tabbarcontroller中删除所有的tabbarbutton: - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; // 删除系统自动生成的UITabBarButton for (UIView *child in self.tabBar.subviews) { if ([child isKindOfClass:[UIControl class]]) { [child removeFromSuperview]; } } } 然后自定义一个tabbar,添加对应的按钮(按钮最好也继承重写),根据按钮的tag,就可以切换子控制器了(添加一个代理属性告诉你重写的那个tabbarcontroller) [/quote] 先谢谢了,我就是自定义的tabbarcontroller,只是没有你上面删除所有的tabbarbutton的这一步。 我实验一下,加上以后more按钮是不是就不会出现了。
狼烟辉 2015-08-16
  • 打赏
  • 举报
回复
点击进入相应选项卡下一级后,回退回来主界面,出现 more的按钮在最右边,这个是这个控件的默认情况,大于5个选项卡后,就出现,more里面有剩余的选项卡,就跟setting类似。
胜负多少 2015-08-16
  • 打赏
  • 举报
回复
引用 5 楼 wolf_y 的回复:
实际上是类似这个效果,点击弹出按钮,tab加载新的controllor的效果。 我现在整体用的就是自定义的uitabcontrollor,用的一个view上,添加的按钮及事件。。然后动态弹出一个框,上面放三个按钮。 实现起来有BUG,求教啊!
你说出现more按钮是什么样子的
胜负多少 2015-08-16
  • 打赏
  • 举报
回复
引用 4 楼 wolf_y 的回复:
[quote=引用 3 楼 pppppp11 的回复:]
[quote=引用 2 楼 wolf_y 的回复:]
[quote=引用 1 楼 pppppp11 的回复:]
把tabbar做成一个scrollView怎么样呢。。。

意思是直接不用uitab这个控件?[/quote]自定义个tabbar,覆盖系统原来的tabbar啊。。。[/quote]
我就是自定义的,但是还是会出现more..哪里出问题了,或者有问题?[/quote]我试了一下我自己的tabBar不会出现more这个情况啊。。。。
狼烟辉 2015-08-16
  • 打赏
  • 举报
回复

实际上是类似这个效果,点击弹出按钮,tab加载新的controllor的效果。
我现在整体用的就是自定义的uitabcontrollor,用的一个view上,添加的按钮及事件。。然后动态弹出一个框,上面放三个按钮。
实现起来有BUG,求教啊!
狼烟辉 2015-08-15
  • 打赏
  • 举报
回复
引用 3 楼 pppppp11 的回复:
[quote=引用 2 楼 wolf_y 的回复:] [quote=引用 1 楼 pppppp11 的回复:] 把tabbar做成一个scrollView怎么样呢。。。
意思是直接不用uitab这个控件?[/quote]自定义个tabbar,覆盖系统原来的tabbar啊。。。[/quote] 我就是自定义的,但是还是会出现more..哪里出问题了,或者有问题?
胜负多少 2015-08-15
  • 打赏
  • 举报
回复
引用 2 楼 wolf_y 的回复:
[quote=引用 1 楼 pppppp11 的回复:] 把tabbar做成一个scrollView怎么样呢。。。
意思是直接不用uitab这个控件?[/quote]自定义个tabbar,覆盖系统原来的tabbar啊。。。
狼烟辉 2015-08-15
  • 打赏
  • 举报
回复
引用 1 楼 pppppp11 的回复:
把tabbar做成一个scrollView怎么样呢。。。
意思是直接不用uitab这个控件?
胜负多少 2015-08-15
  • 打赏
  • 举报
回复
把tabbar做成一个scrollView怎么样呢。。。

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧