2017-10-26 3 views
1

表示されていない新しい大タイトル機能(他の属性のような)あるlargeTitleTextAttributes介してカスタマイズすることができるNSAttributedStringKeyキーでdictionary。これらのキーの1つはNSAttachmentAttributeName/attachmentです。付着は

はこのことを考えてみましょう:

let attachment = NSTextAttachment() 
attachment.image = UIImage(named: "foo") 
attachment.bounds = CGRect(x: 0.0, y: 0.0, width: 20.0, height: 20.0) 

var largeTitleTextAttributes: [NSAttributedStringKey: Any] = [:] 
largeTitleTextAttributes[.attachment] = attachment 
navigationBar.largeTitleTextAttributes = largeTitleTextAttributes 

問題は、私はlargeTitleTextAttributes属性attachmentに割り当てられた添付ファイルである表示されません。

添付ファイルが表示されるように添付ファイルを属性辞書に追加するにはどうすればよいですか?(私はNSAttributedStringさんinit(attachment: NSTextAttachmentを探していないよ)

+0

を使用して のようなナビゲーションバーのタイトルビューにUILabelを設定することができ、あなたがtrueにナビゲーションバーのprefersLargeTitleプロパティを設定しています? –

+0

コメントをいただきありがとうございます - 私は行いましたが、属性付き文字列で添付ファイルを取得しようとしている方法の例に過ぎません。この問題は、この特定のケース(ナビゲーションの大きなタイトルの属性)に限定されません。それが私が一般的なタイトルを選んだ理由です。 –

+0

あなたは歓迎です、私は理解しています。添付ファイルを辞書に追加するコードが正しいため、私はそれを求めます。 –

答えて

0

Appleのドキュメントを見てから、あなたはtitleTextAttributessで指定できる属性のリストは限られそうです:

あなたはフォントを指定することができ、テキストカラー、テキストシャドーカラー、およびテキスト テキスト属性ディクショナリのタイトルのシャドウオフセット。 NSAttributedStringKeyで説明されているテキスト属性キーを使用します。悲しいことに

https://developer.apple.com/documentation/uikit/uinavigationbar/1624953-titletextattributes

、画像の添付ファイルがリストに含まれていません。

+0

良い点は、属性付き文字列で添付ファイルを取得しようとしている方法の例に過ぎません。たとえば'UILabel'の属性 –

1

Appleのドキュメントには、あなたは、フォント、テキストの色、テキストの影の色を指定することができ、テキストにタイトルにテキストオフセット 影が テキスト属性を使用して、辞書を属性だけ

をspecifiyすることができます言ったようにキーはNSAttributedStringKeyで説明されています。

しかし、あなたは直接、念のために、次のコード

let image1Attachment = NSTextAttachment() 
     image1Attachment.image = UIImage(named: "bb") 
     image1Attachment.bounds = CGRect.init(x: 0.0, y: 0.0, width: 20, height: 20) 
     let image1String = NSAttributedString(attachment: image1Attachment) 
     let label: UILabel = UILabel.init(frame: (self.navigationController?.navigationBar.frame)!) 
     label.attributedText = image1String 
     if #available(iOS 11.0, *) { 
      self.navigationItem.titleView = label 
      } 
     else { 
      // Fallback on earlier versions 
     } 

enter image description here

+0

あなたのAさんありがとうございましたが、これは@Daveが既に言ったことです。私は' init(attachment:NSTextAttachment) 'を使って解決策を探していません。私は質問の最後の文で指定します。これは機能します。しかし、Qは、属性を介して添付ファイルに 'attachment 'を割り当てることはできません。どうしてですか? –

関連する問題