2017-10-26 8 views
2

私の目標は、UIImagePickerControllerのすべてのテキストのフォントを制御することです。UIImagePickerControllerラベルのフォントを変更する

私はこれまで、すべてのUILabelsのフォントを制御するためにUILabel拡張と外観プロキシを使用していました。

extension UILabel { 

    var defaultFontName : String { 
     get { return self.font.fontName } 
     set { self.font = UIFont(name: newValue, size: self.font.pointSize) } 
} 

私はAppDelegateでデフォルトのフォントを設定しました。

UILabel.appearance().defaultFontName = kDefaultFontName 

以前は、これは私がすべてのセルと画像のラベルは、デフォルトのフォントを採用して、私のプロジェクトで作成したプログラムでUIImagePickerControllerに拡張しました。 Xcode 9とSwift 4をアップデートした後、これは動作しません。

私は、UIImagePickerControllerClassに含まれるUILabelsのために外観プロキシを調整して、デフォルトフォントに特定のポイントサイズを成功させることを試みました。

なぜこれはもう機能しませんか?

UIImagePickerControllerのフォントにアクセスするにはどうすればよいですか?

+0

これは、「ハッキーな」アプローチのようなものです。 'UIImagePickerController'は、フォントを変更するデフォルトのオプションを持っていません。外観をカスタマイズする場合は、独自のイメージピッカーを実装します。 – the4kman

+0

@ the4kmanありがとうございます。この方法でアプリ内のフォントを設定するのは面倒ですか? – Yarn

+0

いいえ、必ずしもそうではありません。ただし、システムコントロールは既定のフォントで表示する必要があります。 – the4kman

答えて

0

システムの動作を変更するために、このような方法を使用しないでください。このハックトリックを動作させても、iOS 12では確かに壊れてしまう可能性があるからです。だから今は、.appearenceのせいで動作しません。イメージ・ピッカーのようなシステム・コントローラは別々に作成され、自分自身を作成するために外観を使用しません。 ios11以降。しかし、ios10には、ドキュメントに関する警告のようなものがありました

関連する問題