Learn-iOS-Swift-by-Examples/UICatalog/Swift/UIKitCatalog/CustomToolbarViewController...

76 lines
2.4 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
Copyright (C) 2016 Apple Inc. All Rights Reserved.
See LICENSE.txt for this samples licensing information
Abstract:
A view controller that demonstrates how to customize a UIToolbar.
*/
import UIKit
class CustomToolbarViewController: UIViewController {
// MARK: - Properties
@IBOutlet weak var toolbar: UIToolbar!
// MARK: - View Life Cycle
override func viewDidLoad() {
super.viewDidLoad()
configureToolbar()
}
// MARK: - Configuration
func configureToolbar() {
let toolbarBackgroundImage = UIImage(named: "toolbar_background")
toolbar.setBackgroundImage(toolbarBackgroundImage, forToolbarPosition: .Bottom, barMetrics: .Default)
let toolbarButtonItems = [
customImageBarButtonItem,
flexibleSpaceBarButtonItem,
customBarButtonItem
]
toolbar.setItems(toolbarButtonItems, animated: true)
}
// MARK: - UIBarButtonItem Creation and Configuration
var customImageBarButtonItem: UIBarButtonItem {
let customBarButtonItemImage = UIImage(named: "tools_icon")
let customImageBarButtonItem = UIBarButtonItem(image: customBarButtonItemImage, style: .Plain, target: self, action: #selector(CustomToolbarViewController.barButtonItemClicked(_:)))
customImageBarButtonItem.tintColor = UIColor.applicationPurpleColor
return customImageBarButtonItem
}
var flexibleSpaceBarButtonItem: UIBarButtonItem {
// Note that there's no target/action since this represents empty space.
return UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil)
}
var customBarButtonItem: UIBarButtonItem {
let barButtonItem = UIBarButtonItem(title: NSLocalizedString("Button", comment: ""), style: .Plain, target: self, action: #selector(CustomToolbarViewController.barButtonItemClicked(_:)))
let backgroundImage = UIImage(named: "WhiteButton")
barButtonItem.setBackgroundImage(backgroundImage, forState: .Normal, barMetrics: .Default)
let attributes = [
NSForegroundColorAttributeName: UIColor.applicationPurpleColor
]
barButtonItem.setTitleTextAttributes(attributes, forState: .Normal)
return barButtonItem
}
// MARK: - Actions
func barButtonItemClicked(barButtonItem: UIBarButtonItem) {
NSLog("A bar button item on the custom toolbar was clicked: \(barButtonItem).")
}
}