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

如何在导航栏Swift右侧添加自定义视图?

曹波鸿
2023-03-14
问题内容

我试图在 UINavigationBar的* 右侧添加 自定义视图 。我尝试了以下操作,但是视图未显示!请帮助,在此先感谢! *

let viewOnrightButton = UIView(frame: CGRect(x: 2, y: 2, width: 60, height: 22))
 // viewOnrightButton.frame = CGRectMake(2, 2, 60, 22)
viewOnrightButton.layer.cornerRadius = 2
viewOnrightButton.backgroundColor = UIColor(red: 0.961, green: 0.827, blue: 0.239, alpha: 1.00)

lblNumbersOfBanana.frame = CGRectMake(2, 1, viewOnrightButton.frame.width-20, 20)
lblNumbersOfBanana.text = "001"

var bananaImgView = UIImageView(frame: CGRect(x: viewOnrightButton.frame.width-22, y: 0, width: 20, height: 20))
 //  bananaImgView.frame = CGRectMake(viewOnrightButton.frame.width-22, 0, 20, 20)
bananaImgView.image = UIImage(named: "banana")

viewOnrightButton.addSubview(lblNumbersOfBanana)
viewOnrightButton.addSubview(bananaImgView)

self.navigationItem.rightBarButtonItem?.customView = viewOnrightButton

问题答案:

//创建uiview并添加三个自定义按钮

 func addRightButton(){

    let viewFN = UIView(frame: CGRectMake(0, 0, 180,40))
        viewFN.backgroundColor = UIColor.yellowColor()
    let button1 = UIButton(frame: CGRectMake(0,8, 40, 20))
    button1.setImage(UIImage(named: "notification"), forState: UIControlState.Normal)
    button1.setTitle("one", forState: .Normal)

    button1.addTarget(self, action: #selector(self.didTapOnRightButton), forControlEvents: UIControlEvents.TouchUpInside)

    let button2 = UIButton(frame: CGRectMake(40, 8, 60, 20))
    button2.setImage(UIImage(named: "notification"), forState: UIControlState.Normal)
    button2.setTitle("tow", forState: .Normal)
    let button3 = UIButton(frame: CGRectMake(80, 8, 60, 20))
     button3.setImage(UIImage(named: "notification"), forState: UIControlState.Normal)
    button3.setTitle("three", forState: .Normal)

    button3.addTarget(self, action: #selector(self.didTapOnRightButton), forControlEvents: UIControlEvents.TouchUpInside)

    viewFN.addSubview(button1)
    viewFN.addSubview(button2)
    viewFN.addSubview(button3)


    let rightBarButton = UIBarButtonItem(customView: viewFN)
    self.navigationItem.rightBarButtonItem = rightBarButton

}


 类似资料:
  • 修改聊天页面导航栏背景色、导航栏上增加自定义按钮、修改导航栏上图标按钮颜色等 /** 聊天窗口导航栏 @param navigationBar 导航栏 */ - (void)ntalker_navigationBar:(UIView *)navigationBar { navigationBar.backgroundColor = [UIColor redColor];//修改导航栏背景色 }

  • Navbar 自定义导航栏 平台差异说明 App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序 √ √ √ √ √ √ √ 基本使用 默认情况下,该组件只有向左的箭头,点击可以返回上一页,如果您想将自定义导航栏用在tabbar(不存在要返回的逻辑)页面,应该将is-back设置为false, 这样会隐藏左边的返回图标区域。 如果想在返回箭头的右边自定义类似"返回"字样,可以将

  • 问题内容: 我正在尝试在导航栏的中心添加自定义视图,并且正在使用以下代码对其进行测试: 我在视图控制器的viewDidLoad方法中进行设置,但是当我运行程序时,导航栏中似乎没有任何变化。 你能帮我吗? 问题答案: 这可行。初始化时给框架

  • ap.hideOptionButton() 隐藏导航栏右侧按钮。 代码示例 <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> <button class="btn btn-default">显示多个按钮</button> <button

  • ap.showOptionButton() 显示导航栏右侧按钮。 代码示例 <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> <button class="btn btn-default">显示 optionButton</button

  • ap.setOptionButton(OPTION | items, CALLBACK) 设置导航栏右侧按钮。 OPTION 参数说明 名称 类型 必填 描述 onClick Function 否 监听 optionButton 点击事件 reset Boolean 否 重置到系统默认按钮,默认为 false。当为 true 时,忽略其他参数 preventDefault Boolean 否 是否