Search This Blog

Thứ Năm, 31 tháng 8, 2017

Cài đặt Nativation Bar

func initBtnBar(){
        
        let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 30, height: 30))
        imageView.contentMode = .scaleAspectFit
        let image = UIImage(named: "logo-white.png")
        imageView.image = image
        navigationItem.titleView = imageView
        //navigationItem.titleView?.sizeToFit()
        
        
        let myBackButton = UIButton(type: UIButtonType.custom)
        myBackButton.frame = CGRect(x: 0, y: 0, width: 35.0, height: 35.0)
        //myBackButton.addTarget(self, action: #selector(self.btnMenuLeftClicked), for: .touchUpInside)
        myBackButton.setImage( UIImage(named: "icon-menu.png")?.resizedImageWithinRect( rectSize: CGSize(width: 35, height: 35)), for: .normal )
        
        let myBackButtonBtn = UIBarButtonItem(customView: myBackButton)
        
        let myBackButtonBtnMargin = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.fixedSpace, target: nil, action: nil)
        myBackButtonBtnMargin.width = -12
        self.navigationItem.leftBarButtonItems  = [myBackButtonBtnMargin,myBackButtonBtn]
        
        
        let myBackButtonRight = UIButton(type: UIButtonType.custom)
        myBackButtonRight.frame = CGRect(x: 0, y: 0, width: 35.0, height: 35.0)
        //myBackButtonRight.addTarget(self, action: #selector(self.btnMenuRightClicked), for: .touchUpInside)
        myBackButtonRight.setImage(UIImage(named: "icon_send_office.png")?.resizedImageWithinRect(rectSize: CGSize(width: 35, height: 35)), for: .normal)
        
        let myBackButtonRightBtn = UIBarButtonItem(customView: myBackButtonRight)
        
        let myBackButtonRightBtnMargin = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.fixedSpace, target: nil, action: nil)
        myBackButtonRightBtnMargin.width = -12
        self.navigationItem.rightBarButtonItems  = [myBackButtonRightBtnMargin,myBackButtonRightBtn]
        
        

 }


- Gắn thêm : 

extension UIImage {
    
    /// Returns a image that fills in newSize
    func resizedImage(newSize: CGSize) -> UIImage {
        // Guard newSize is different
        guard self.size != newSize else { return self }
        
        UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0);
        self.draw(in: CGRect(x:0, y:0, width:newSize.width,height: newSize.height))
        let newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
        UIGraphicsEndImageContext()
        return newImage
    }
    
    /// Returns a resized image that fits in rectSize, keeping it's aspect ratio
    /// Note that the new image size is not rectSize, but within it.
    func resizedImageWithinRect(rectSize: CGSize) -> UIImage {
        let widthFactor = size.width / rectSize.width
        let heightFactor = size.height / rectSize.height
        
        var resizeFactor = widthFactor
        if size.height > size.width {
            resizeFactor = heightFactor
        }
        
        let newSize = CGSize(width:size.width/resizeFactor,height: size.height/resizeFactor)
        let resized = resizedImage(newSize: newSize)
        return resized
    }
    
}

Không có nhận xét nào:

Đăng nhận xét