简体   繁体   English

Swift MFMessageComposeViewController色调和背景色iOS 10

[英]Swift MFMessageComposeViewController tint and background color iOS 10

I am trying to use custom color in MFMessageComposeViewController . 我试图在MFMessageComposeViewController使用自定义颜色。 I thought it will be okay to use: 我认为可以使用:

@IBAction func sendMessage(sender: AnyObject) {
    let messageVC = MFMessageComposeViewController()
    messageVC.body = "Enter a message";
    messageVC.recipients = [phoneString]
    messageVC.messageComposeDelegate = self;
    //color
    UINavigationBar.appearance().barTintColor = UIColor(hexString: "fec13e")
    UINavigationBar.appearance().tintColor = UIColor.whiteColor()

    self.presentViewController(messageVC, animated: false, completion: nil)
}

but its not working. 但它不起作用。

You can use the below code to change the color of MFMessageComposeViewController navigation color. 您可以使用以下代码更改MFMessageComposeViewController导航颜色的颜色。

let size = CGSize(width: (self.window?.frame.size.width)!, height: 64) let image = self.getImageWithColor(UIColor .init(colorLiteralRed: 40.0/255.0, green: 140.0/255.0, blue: 204.0/255.0, alpha: 1.0), size:size) UINavigationBar.appearance().setBackgroundImage(image.resizableImage(withCapInsets: UIEdgeInsets.zero, resizingMode: .stretch), for: .default)

Where getImageWithColor is the func which return image of desired color 其中getImageWithColor是返回所需颜色图像的func

func getImageWithColor(_ color: UIColor, size: CGSize) -> UIImage { let rect = CGRect(origin: CGPoint(x: 0, y: 0), size: CGSize(width: size.width, height: size.height)) UIGraphicsBeginImageContextWithOptions(size, false, 0) color.setFill() UIRectFill(rect) let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext() return image }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM