17

iOS上是否有一种字体有蓝牙标志的字形?也许是一些 Dingbats,还是 Emoji?WiFi标志怎么样?

编辑:有这样一个字符的第三方字体怎么样,我可以许可和运送的字体?

4

5 回答 5

7

不,蓝牙徽标不是字形或字体字符。

于 2012-07-27T18:41:56.937 回答
5

正如 Seva 所说,它是符文 Hagall (ᚼ) 和 Bjarkan (ᛒ) 的组合。我试图通过组合这两个符号来做同样的事情。

我通过首先找到具有这两个字符的字体来实现这一点。我最终使用了 LeedsUni。你可以在这里下载:http ://www.personal.leeds.ac.uk/~ecl6tam/ 。

您需要在 info.plist 中引用字体所在的路径。

  <key>UIAppFonts</key>
  <array>
    <string>Fonts/LeedsUni10-12-13.ttf</string>
  </array>

然后我创建了两个相互重叠的UIView对象(UIButton在我的例子中是对象),以便两个字符正确排列。根据您使用的字体,您可能需要调整 UIView 框架的 x 和 y 值。

我的代码在 C# 中,因为我使用的是 Xamarin,但您应该能够在 Objective C 或 Swift 中做同样的事情。

UIView bleView = new UIView(new CGRect(0, 0, 34.0f, 34.0f));

string fontName = "LeedsUni";

UIButton bluetoothToSerialButton = new UIButton(UIButtonType.RoundedRect);
bluetoothToSerialButton.Frame = new CGRect(0, 0, 34.0f, 34.0f);
bluetoothToSerialButton.SetTitleColor(UIApplication.SharedApplication.Delegate.GetWindow().TintColor, UIControlState.Normal);
bluetoothToSerialButton.SetTitle("ᛒ", UIControlState.Normal);
bluetoothToSerialButton.Font = UIFont.FromName(fontName, 34.0f);

UIButton bluetoothToSerialButton2 = new UIButton(UIButtonType.RoundedRect);
bluetoothToSerialButton2.Frame = new CGRect(-3.5f, 0, 34.0f, 34.0f);
bluetoothToSerialButton2.SetTitleColor(UIApplication.SharedApplication.Delegate.GetWindow().TintColor, UIControlState.Normal);
bluetoothToSerialButton2.SetTitle("ᚼ", UIControlState.Normal);
bluetoothToSerialButton2.Font = UIFont.FromName(fontName, 34.0f);

bleView.AddSubviews(new UIView[] { bluetoothToSerialButton, bluetoothToSerialButton2 });
于 2015-06-11T20:06:42.783 回答
4

在 Swift 4.1 中使用 Quartz2D

如果您讨厌使用外部字体或添加一堆 .png 文件,您可能更喜欢使用 Quartz2D 获得相同效果的简单类。

这适用于我的 20x20 点徽标。您可能想要优化几何图形或线宽。另请注意,框架的宽度应等于高度。

请注意,如果大小发生变化,您将需要使用 setNeedsDisplay。

在此处输入图像描述

import UIKit
class BluetoothLogo: UIView {
    var color: UIColor!
    convenience init(withColor color: UIColor, andFrame frame: CGRect) {
        self.init(frame: frame)
        self.backgroundColor = .clear
        self.color = color
    }
    override func draw(_ rect: CGRect) {
        let context = UIGraphicsGetCurrentContext()
        let h = self.frame.height
        let y1 = h * 0.05
        let y2 = h * 0.25
        context?.move(to: CGPoint(x: y2, y: y2))
        context?.addLine(to: CGPoint(x: h - y2, y: h - y2))
        context?.addLine(to: CGPoint(x: h/2, y: h - y1))
        context?.addLine(to: CGPoint(x: h/2, y: y1))
        context?.addLine(to: CGPoint(x: h - y2, y: y2))
        context?.addLine(to: CGPoint(x: y2, y: h - y2))
        context?.setStrokeColor(color.cgColor)
        context?.setLineCap(.round)
        context?.setLineWidth(2)
        context?.strokePath()
    }
}
于 2018-06-27T17:47:07.347 回答
2

这些是来自谷歌材料设计的图标,你可以从这里下载它们https://material.io/tools/icons/?icon=bluetooth&style=baseline 在此处输入图像描述

于 2018-11-02T16:46:53.300 回答
1

没有表情符号,只是在我的 iPad 上查看过。

如果您不希望它可扩展,只需使用蓝牙徽标的 PDF 或 EPS,否则只需使用 png。

于 2012-07-27T17:14:18.990 回答