在Swift中没有导航控制器的情况下将栏按钮项添加到导航栏

时间:2015-07-09 01:00:56

标签: ios swift uinavigationbar

我正在尝试向自定义导航栏的每一侧添加多个条形按钮项。我正在使用以下方法,但没有显示任何内容。在Obj-C中有一些线程,但我很难翻译语法。在Swift中有解决方法吗?

@IBOutlet weak var navBar: UINavigationBar!

    override func viewDidLoad() {

            var iconOne = UIImage(named: "iconOne")
            var iconTwo = UIImage(named: "iconTwo")

            var buttonOne:UIBarButtonItem = UIBarButtonItem(image: iconOne, style: UIBarButtonItemStyle.Plain, target: self, action: nil)
            var buttonTwo:UIBarButtonItem = UIBarButtonItem(image: iconTwo, style: UIBarButtonItemStyle.Plain, target: self, action: nil)

            self.navBar.setItems([buttonOne,buttonTwo], animated: true)

    }

1 个答案:

答案 0 :(得分:11)

如果您使用的是情节提要,请拖动navigationItem,然后在导航栏上拖动navigationitem

enter image description here

然后拖动@IBOutlet weak var navItem: UINavigationItem! override func viewDidLoad() { super.viewDidLoad() let navBarbutton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Bookmarks, target: self, action: nil) navItem.leftBarButtonItem = navBarbutton // Do any additional setup after loading the view, typically from a nib. }

的出口
let navbar = UINavigationBar(frame: CGRectMake(0, 20,
    UIScreen.mainScreen().bounds.size.width,50));
navbar.tintColor = UIColor.lightGrayColor()
self.view.addSubview(navbar)

let navItem = UINavigationItem(title: "Test")
let navBarbutton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Bookmarks, target: self, action: nil)
navItem.leftBarButtonItem = navBarbutton

navbar.items = [navItem]

您也可以使用代码:

Sub MergeCellss()
lastRow = Worksheets("A").Range("A65536").End(xlUp).Row

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False

For i = 2 To lastRow
If Cells(i, 2).Value <> Cells(i - 1, 2).Value And Cells(i, 2).Value <> Cells(i + 1, 2).Value Then
     intUpper = i
     Debug.Print ("<> -1 and <> +1 " & intUpper)
End If

If Cells(i, 2).Value <> Cells(i - 1, 2).Value And Cells(i, 2).Value = Cells(i + 1, 2).Value Then
     intUpper = i
     Debug.Print ("<> -1 and = +1 " & intUpper & " UPPPER LIMIT")
End If


If Cells(i, 2).Value <> Cells(i + 1, 2).Value And Cells(i, 2).Value = Cells(i - 1, 2).Value Then
    Application.DisplayAlerts = False
      Debug.Print ("<> +1 and = -1:" & i & "LOWER LIMIT")
        DoEvents
         For x = 1 To 8
             Range(Cells(intUpper, x), Cells(i, x)).Merge
        Next x

        For j = 18 To 26
             Range(Cells(intUpper, j), Cells(i, j)).Merge
        Next j
        Cells(intUpper, 14).Value = "=sumif(M" & CStr(intUpper) & ":M" & CStr(i) & ","">0"")"
        Range(Cells(intUpper, 14), Cells(i, 14)).Merge
        Range(Cells(i, 1), Cells(i, 26)).Borders(xlEdgeBottom).LineStyle = xlDouble
End If

If Cells(i, 2).Value <> Cells(i + 1, 2).Value And Cells(i, 2).Value <> Cells(i - 1, 2).Value Then
     Debug.Print ("One Cells: " & i)
    Range(Cells(i, 1), Cells(i, 26)).Borders(xlEdgeBottom).LineStyle = xlDouble
      Cells(intUpper, 14).Value = Cells(intUpper, 13).Value
      DoEvents
End If

Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.DisplayAlerts = True
End Sub

enter image description here