【问题标题】:Using UITabbaritem as a UIButton使用 UITabbaritem 作为 UIButton
【发布时间】:2024-01-14 03:40:01
【问题描述】:

有没有办法将 UITabbaritem 用作 UIButton? 我正在尝试制作一个标签栏,它的项目不会改变视图。只是希望他们在同一个视图控制器中执行简单的操作。

谢谢。

【问题讨论】:

    标签: iphone uibutton uitabbar uitabbaritem


    【解决方案1】:

    通过创建UITabBarDelegate 并实施正确的方法可能是可能的,但这样做会违反Apple 的HIG 并导致您的应用被拒绝。 UIToolbar 是用于您所描述内容的正确类。从那个文档:

    标签栏使用户能够 在不同的模式或视图之间切换 在应用程序中,用户应该 能够访问这些模式从 在应用程序的任何地方。 但是,标签栏永远不应该 用作工具栏,其中包含 作用于元素的按钮 当前模式(有关更多信息,请参见“工具栏” 工具栏上的信息)。

    【讨论】:

      【解决方案2】:

      没有。它继承自 UIBarItems:NSObject。 UIButton 继承自 UIControl。

      【讨论】:

        【解决方案3】:

        试试这个

           UIButton *chatButton = [UIButton buttonWithType:UIButtonTypeCustom];
                [chatButton setImage:[UIImage imageNamed:@"list.png"] forState:UIControlStateNormal];
                [chatButton addTarget:self action:@selector(buttonClicked) forControlEvents:UIControlEventTouchUpInside];
                chatButton.frame = (CGRect) {
                    .size.width = 30,
                    .size.height = 35,
                };
                UIBarButtonItem *barBackButton= [[UIBarButtonItem alloc] initWithCustomView:chatButton];
                [navigationItem setLeftBarButtonItem:barBackButton];
        
            NSArray *barItemArray = [[NSArray alloc]initWithObjects:navigationItem,nil];
            [navigationBar setItems:barItemArray];
        

        【讨论】: