Swift MFMessageComposeViewController色调和背景色iOS 10

时间:2016-09-16 10:45:53

标签: ios swift mfmailcomposeviewcontroller

我正在尝试在MFMessageComposeViewController中使用自定义颜色。我认为可以使用:

@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)
}

但它不起作用。

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码更改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)

getImageWithColor 是返回所需颜色图像的函数

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 }

相关问题