私はイニシャルインディーズの灰色の円を作成しようとしています。 tabBarItemイメージとして使用します。iOS swift:TabBarItemのラベルからの画像
これは私が円を作成するために使用する関数であり、それはほとんど動作しますが、あなたは下の画像で見ることができるよう、それが正方形でないサークルです:
static func createAvatarWithInitials(name: String, surname: String, size: CGFloat) -> UIImage {
let initialsLabel = UILabel()
initialsLabel.frame.size = CGSize(width: size, height: size)
initialsLabel.textColor = UIColor.white
initialsLabel.text = "\(name.characters.first!)\(surname.characters.first!)"
initialsLabel.textAlignment = .center
initialsLabel.backgroundColor = UIColor(red: 74.0/255, green: 77.0/255, blue: 78.0/255, alpha: 1.0)
initialsLabel.layer.cornerRadius = size/2
let scale = UIScreen.main.scale
UIGraphicsBeginImageContextWithOptions(initialsLabel.frame.size, false, scale)
initialsLabel.layer.render(in: UIGraphicsGetCurrentContext()!)
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
image.withRenderingMode(.alwaysOriginal)
return image
}
とどのように私これは
if index == positionForProfileItem {
tabBarItem.image = UIImage.createAvatarWithInitials(name: "John", surname: "Doe", size: CGFloat(20))
}
が、私は..タブバーで空の二乗長方形を持って、私は、任意のヘルプを理由にそれを把握することはできません。tabBarControllerののviewDidLoad内で呼び出しますか?
'createAvatarWithInitials'は正しい画像を返しますか? – trungduc
私はuiimageviewでそれを使用すると、最初の質問で見られるようにイメージを返します。私はabバーでそれを使用する場合、私は2番目の画像の結果が –