加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – LeftbarButtonItem删除填充?

发布时间:2020-12-14 04:45:49 所属栏目:百科 来源:网络整理
导读:我想在UINavigationController中使用一个标识作为LeftbarButtonItem,是否可以删除左边的填充? 不幸的是,我试过: let logoView = UIView(frame: CGRectMake(-15,44,44)) logoView.backgroundColor = UIColor.darkGrayColor() var leftBarButtonItem: UIBarB
我想在UINavigationController中使用一个标识作为LeftbarButtonItem,是否可以删除左边的填充?

不幸的是,我试过:

let logoView = UIView(frame: CGRectMake(-15,44,44))
    logoView.backgroundColor = UIColor.darkGrayColor()

    var leftBarButtonItem: UIBarButtonItem = UIBarButtonItem(customView: logoView)

    self.navigationItem.setLeftBarButtonItem(leftBarButtonItem,animated: false)

但那不起作用. Ill表示此图片中显示的空间:

enter image description here

有任何想法吗?提前致谢.

这是Swift解决方案:

let logoView = UIView(frame: CGRectMake(0,44))
    logoView.backgroundColor = UIColor.darkGrayColor()

    let negativeSpacer = UIBarButtonItem.init(barButtonSystemItem: .FixedSpace,target: nil,action: nil)
    negativeSpacer.width = -20;

    let leftBarButtonItem: UIBarButtonItem = UIBarButtonItem(customView: logoView)

    self.navigationItem.leftBarButtonItems = [negativeSpacer,leftBarButtonItem]

解决方法

以下是删除自定义左按钮项左侧的填充的示例:

UIBarButtonItem *backButtonItem // Assume this exists,filled with our custom view

// Create a negative spacer to go to the left of our custom back button,// and pull it right to the edge:
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc] 
    initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace 
    target:nil action:nil];
negativeSpacer.width = -5; 

// Note: We use 5 above b/c that's how many pixels of padding iOS seems to add

// Add the two buttons together on the left:
self.navigationItem.leftBarButtonItems = [NSArray 
    arrayWithObjects:negativeSpacer,backButtonItem,nil];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读