标签: uitabbar

以编程方式在Xcode中按下UITabBar按钮

对不起新手问题.我在主窗口视图中有一个UITabBar,每个Tab都有一个UINavigationControllers数组.该结构类似于iPod应用程序,通过选择TabBar项目可以看到主视图,然后用户可以通过将视图推送到堆栈来进一步向下钻取NavigationController.

我希望能够做的就是在代码中的任何子视图底部按下TabBar按钮(即,更改TabBar的选定属性并显示启动选项卡的第一个视图控制器) .

任何帮助将不胜感激.

戴夫

iphone cocoa-touch objective-c uinavigationcontroller uitabbar

12
推荐指数
2
解决办法
3万
查看次数

在xcode 6中设置选项卡栏选项图像

这是我对标签栏项目的设置:

在此输入图像描述

但是,当单击应用程序内的项目时,未显示1051-id-badge选择的图像,而是显示任何内容:

在此输入图像描述

我的设置有问题吗?有任何想法吗?

uitabbar ios xcode6

12
推荐指数
1
解决办法
1万
查看次数

将iPhone设备旋转到横向时隐藏TabBar

所以这就是我所拥有的:一个处理不同UIViewControllers的UITabBarController.在其中一个UIViewController中,我试图在设备旋转到横向时切换显示的视图.重要的是,景观中显示的视图必须占据整个屏幕......

我已经正确实现了这些方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
Run Code Online (Sandbox Code Playgroud)

事实上,我确实正确地进行了旋转,而且我的观点也在变化.我甚至隐藏状态栏,导航栏和标签栏但我仍然在屏幕底部有一个空白区域,这是TabBar的位置...

所以我假设设置tabBar的隐藏属性是不够的,以便在整个屏幕上拥有视图.我认为在TabBarController甚至是MainWindow中都有一些事情可以说"我现在不需要TabBarController".但我不知道如何妥善解决这个问题.

如果有人围绕这个问题,我将不胜感激.

谢谢,萨米.

iphone rotation uitabbarcontroller tabbarcontroller uitabbar

11
推荐指数
1
解决办法
1万
查看次数

如何记住UITabBarController中最后选择的选项卡?

我正在尝试让我的应用记住在应用退出之前最后一次查看哪个标签,以便应用在下次启动时打开到同一个标签.这是iPhone手机功能的功能:我该怎么做?

iphone sdk tabs uitabbar

11
推荐指数
2
解决办法
8640
查看次数

Autolayout忽略了iOS7上的UITabBar(条形图下的内容)

我在故事板中将UITabBar设置为不透明,但我似乎仍然是透明的.当我设置自定义UITabBarController时setBarStyle,只有OpaqueBlack可用.

但那个问题最少.无论我做什么,我的视图内容都位于标签栏下方,就像它被ayutolayout忽略一样.在故事板上一切都很好.在运行时搞砸了什么?

哦,最重要的是.问题仅发生在iOS7上!

以下是storyboard中的ViewController设置:

在此输入图像描述

这里是有问题的内容(UITableView),它位于ios7应用程序的UITabBar下.但在故事板中看起来很好:

在此输入图像描述

最后是UITableView约束:

在此输入图像描述

uitabbar ios7

11
推荐指数
2
解决办法
7122
查看次数

如何通过编程方式创建UIImage来更改UITabBar顶部边框的颜色?

根据我的理解,改变顶部边框颜色的唯一方法是设置背景图像(320x49,顶部有像素线).在我看来,这是唯一的方法(如果我错了,请纠正我).

有没有办法在使用图像文件的情况下执行此操作?例如,有人帮助我通过从代码创建UIImage来更改NavigationBar底部边框:

UINavigationBar.appearance().shadowImage = UIImage.colorForNavBar(UIColor.redColor())

extension UIImage {   
    class func colorForNavBar(color: UIColor) -> UIImage {
        let rect = CGRectMake(0.0, 0.0, 1.0, 1.0)
        UIGraphicsBeginImageContext(rect.size)
        let context = UIGraphicsGetCurrentContext()

        CGContextSetFillColorWithColor(context, color.CGColor)
        CGContextFillRect(context, rect)

        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

        return image
    }
}
Run Code Online (Sandbox Code Playgroud)

这个解决方案实际效果很好 它改变了我的底部边框的颜色.

我试图将它应用到TabBar,但没有任何改变.

UITabBar.appearance().shadowImage = UIImage.colorForNavBar(.redColor())

uiimage uitabbar ios swift

11
推荐指数
2
解决办法
8031
查看次数

iPhone X上的UITabBar selectionIndicatorImage高度

我使用selectionIndicatorImageUITabBar,这是49点高,是这样的:UITabBar.appearance().selectionIndicatorImage = UIImage(named: "bg-tab-selected")

适用于所有设备: 在此输入图像描述

除了iPhone X:

在此输入图像描述

我已经尝试将图像设置为仅在资产目录中垂直切片,但这似乎没有达到预期的效果.由于某种原因,它也水平延伸?顶部有一些填充物.

在此输入图像描述

我有什么想法可以解决这个问题?

uitabbar ios iphone-x

11
推荐指数
1
解决办法
3655
查看次数

ios13 - unSelectedItem 的 UITabBar 色调颜色不起作用

在 Xcode 10 中,unselectedItemTintColor 属性正常工作,但在 Xcode 11 和 ios 13 UITabbar 后,unselectedItemTintColor 属性不起作用。

override func viewDidLoad() {
    super.viewDidLoad()

    myTabbar.unselectedItemTintColor = .red
}
Run Code Online (Sandbox Code Playgroud)

uitabbaritem uitabbar ios swift ios13

11
推荐指数
2
解决办法
3071
查看次数

显示视图控制器时缺少导航和标签栏

我正在使用3D Touch实现主屏幕快捷方式,并且它运行良好,但是我现在拥有它的方式意味着当快捷方式将用户带到特定的视图控制器时,标签栏和导航栏将丢失.

这是我的代码:

func handleShortCutItem(shortcutItem: UIApplicationShortcutItem) -> Bool {
    var handled = false

    if let shortcutType = ShortcutType.init(rawValue: shortcutItem.type) {
        let rootViewController = window!.rootViewController

        switch shortcutType {
        case .Favourites:
            let storyboard = UIStoryboard(name: "Main", bundle: nil)
            let rootController = storyboard.instantiateViewControllerWithIdentifier("favourites") as! FavouritesTableViewController
            rootController.parkPassed = DataManager.sharedInstance.getParkByName(NSUserDefaults.standardUserDefaults().stringForKey("currentPark")!)
            self.window?.rootViewController = rootController
            self.window?.makeKeyAndVisible()

            handled = true
        }
    return handled
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我需要在代码中进行更改吗?

这是右舷布局(显示了FavouritesTableViewController):

在此输入图像描述

编辑:

这是我更新的代码:

@available(iOS 9.0, *)
func handleShortCutItem(shortcutItem: UIApplicationShortcutItem) -> Bool {
    var handled = false

    if let shortcutType = ShortcutType.init(rawValue: shortcutItem.type) { …
Run Code Online (Sandbox Code Playgroud)

uinavigationbar uiviewcontroller uitabbar ios swift

10
推荐指数
1
解决办法
1833
查看次数

在UITabBar顶部查看

与播放歌曲时Spotify或Apple Music应用程序的功能类似,它会在UITabBar上放置一个自定义视图: 在此输入图像描述

我试过的解决方案:

  1. 具有最大容器视图的ViewController中的UITabBarController,以及底部布局指南上方的Container View49pt顶部的自定义视图: 在此输入图像描述 问题:嵌入在底部的UITabBarController中的ViewControllers中的任何内容都不会显示,因为它们隐藏在自定义布局后面.我已经尝试覆盖size forChildContentContainerUITabBarController,尝试更新底部布局指南,Nothing.我需要调整UITabBarController的容器视图框架的大小.

  2. 再次尝试#1,但尝试通过增加UITabBar的大小来解决隐藏在其后面的内容问题,然后在每个TabBarItem上使用ImageInset将其关闭,并在UITabBar之上添加我的自定义视图.工作得不好.有时我想隐藏自定义视图.

  3. UITabBarController作为root,每个子节点都是一个ViewController,带有一个Container View +我的自定义视图: 在此输入图像描述 但现在我有多个自定义视图实例浮动.如果我想更改其上的标签,则必须将其更改为所有视图.或隐藏等

  4. 覆盖UITabBarController的UITabBar属性并返回我的自定义UITabBar(用xib充气),它有一个UITabBar +我的自定义视图.问题:可能是所有人最令人沮丧的尝试.如果使用实例覆盖该属性class MyCustomTabBar : UITabBar {},则不会显示任何选项卡!是的,我设定的委托myCustomTabBarself.

倾向于#3,但寻找更好的解决方案.

uitabbar ios swift

10
推荐指数
4
解决办法
7570
查看次数