当前位置: 首页 > 面试题库 >

设置条形按钮项目的图像和标题?

岳浩宕
2023-03-14
问题内容

我目前有一个带有条形按钮项的自定义导航控制器,这些条形按钮项只是文本按钮。是否可以保留条形按钮项目的标题,但也可以将它们设置为图像(图标图像+下方的标题)。

class NavigationController: UINavigationController
{
    var mode: NavigationMode = .Swipe {
        didSet {
            self.setButtonAttributes()
        }
    }

    private var leftBarButton: UIBarButtonItem!
    private var middleBarButton: UIBarButtonItem!
    private var rightBarButton: UIBarButtonItem!
    private var rightBarButton2: UIBarButtonItem!

    override func viewDidLoad()
    {
        super.viewDidLoad()
    }

    func configureNavigationItem(navigationItem: UINavigationItem)
    {
        //Configure the bar buttons text and actions


        if (self.leftBarButton == nil) {
            self.leftBarButton = UIBarButtonItem(title: "Menu1", style: .Plain,target: self, action: "menu1Pressed:")
        }
        if (self.middleBarButton == nil) {
            self.middleBarButton = UIBarButtonItem(title: "Games", style: .Plain, target: self, action: "gamesPressed:")
        }
        if (self.rightBarButton == nil) {
            self.rightBarButton = UIBarButtonItem(title: "Menu3", style: .Plain, target: self, action: "menu3Pressed:")
        }
        if (self.rightBarButton2 == nil) {
            self.rightBarButton2 = UIBarButtonItem(title: "Settings", style: .Plain, target: self, action: "settingsPressed:")
        }

        self.setButtonAttributes()

        navigationItem.leftBarButtonItems = [self.leftBarButton, self.middleBarButton, self.rightBarButton, self.rightBarButton2]

    }

更新:

  let button = UIButton(type: .System)
        button.setImage(UIImage(named: "play"), forState: .Normal)
        button.setTitle("Play", forState: .Normal)
        button.sizeToFit()

        leftBarButton = UIBarButtonItem(customView: button)

        if (self.leftBarButton == nil) {
            self.leftBarButton = UIBarButtonItem(title: "Play", style: .Plain,target: self, action: "Pressed:")
        }

问题答案:

您可以创建UIButton实例,为其设置图像和标题,然后使用它创建UIBarButtonItem:

    let button = UIButton(type: .System)
    button.setImage(UIImage(named: "YourImage"), forState: .Normal)
    button.setTitle("YourTitle", forState: .Normal)
    button.sizeToFit()
    self.leftBarButton = UIBarButtonItem(customView: button)

要添加动作:

    button.addTarget(self, action: #selector(self.someAction), forControlEvents: .TouchUpInside)

self.someAction在哪里

func someAction() {

}


 类似资料:
  • 问题内容: 我想在导航栏的左侧快速显示图像。 我尝试添加导航栏按钮项并在那里设置图像。 问题是我必须使用非常小的图像才能使其很好地适应导航栏。但是制作如此小的图像会导致像素化,特别是在较大的手机iPhone 6和6 Plus上。 有没有一种方法可以使用高质量的图像,然后将框架设置为适合导航栏的边界? 我的尝试: 我尝试先将框架放在图像上,然后再放在条形按钮项上。但这抛出了一个错误: 没有更多上下文

  • 我正在试着做记忆游戏。我有12个按钮和6个图像。 我想随机设置图像到按钮。一个图像到2个按钮。 我知道这个但是不知道如何在这里使用它。 编辑: 你用过这个吗 如何设置此图标的可见(假)之类的内容?

  • 编辑:如果有其他控件可以做到这一点,请让我知道。我在测试TableView。 提前感谢!

  • 问题内容: 我期望以下两个脚本具有相同的输出。 但是执行 脚本1 时,按钮上没有显示图像。但是, 脚本2 效果很好。 脚本1 剧本2 问题答案: 对图像对象的唯一引用是局部变量。当退出时,被当作垃圾回收的局部变量,因此图像被破坏。在第二个示例中,由于映像是在全局级别创建的,因此它永远不会超出范围,因此也不会进行垃圾回收。 要解决此问题,请保存对图像的引用。例如,代替use 。

  • 我一直试图弄清楚,并阅读了许多帖子。但是我无法在MPAndroid的条形图中设置标签到x轴。目前它正在显示条的位置。

  • 我目前正在一个项目中使用MPAndroidChart。我正在使用带有自定义BarChartRenderer和XaxiRenderer的条形图。 我面临的问题是,我希望与高亮显示(单击)栏关联的标签与该栏的颜色相同。 有没有办法通过重写lib函数/类来做到这一点? 这是我的图表实际状态的屏幕截图(10月16日的条形图突出显示)。 这是我想要的最终结果 有人试过在MPAndroidChart上做这种事