2016-08-02 11 views
2

私は、シーンの中でUIViewを使用するスプライトキットベースのゲームを持っています。そのために、UITableViewControllerを利用してゲーム設定画面を表示できます。私が苦労しているのは、ユーザーが(余分な)大きなタイプを使用するようにiPadシステムのアクセシビリティ設定を設定した場合、UITableView内のテキストがセルには大きすぎるため、単純に馬鹿に見えるということです。私がしたいのは、アプリケーション内の動的なタイプをまっすぐにすることで、常に同じサイズのタイプをセルに表示することです。私は別の同様の投稿(here)を発見したが、応答はObjectve-C応答を提供しています:スウィフトでダイナミックタイプを無効にする

#import <objc/runtime.h> 

@implementation AppDelegate 

NSString* swizzled_preferredContentSizeCategory(id self, SEL _cmd) 
{ 
    return UIContentSizeCategoryLarge; // Set category you prefer, Large being iOS' default. 
} 

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions 
{ 
    Method method = class_getInstanceMethod([UIApplication class], @selector(preferredContentSizeCategory)); 
    method_setImplementation(method, (IMP)swizzled_preferredContentSizeCategory); 

    ... 
} 

私はスウィフトでこれを行う必要があります。 Xcode 7+のSwiftでこれと同じことを行う正しい方法は何ですか?

+0

これは怠惰な警官であります実際に必要とされる機能は、多くのユーザーにとって非常に重要です。このようなコーナーを切らないでください。 – Alexander

+1

@AMomchilov私は同意する!実際に私のチームはこれについて議論しましたが、将来のリビジョンでこの機能を実装する予定ですが、今のところテーブルが邪魔にならないようにするだけです。実際、それは一時的なバンドエイドです。あなたのコメントをありがとう、tho。 – zeeple

+0

@ zeeple悪いと見なされていないテーブルが、私が上記のコードを実装した理由です。私は私の方がはるかに大きく読みやすいデフォルトのフォント面を持っていることを確認しました。 –

答えて

2

私はこれを言っています:iOSのアクセシビリティ設定で提供される動的テキストをすぐに見つけられることを嬉しく思いますが(私は秒でコードを表示します)元の質問に対する答えを得ることは、依然として重要です。

しかし、ここでは、一部のユーザーが必要とするより大きな型を尊重するために、テーブルビューコードに対して行ったことがあります。それは2つのステップのプロセスでした。まず、viewDidLoadメソッドに、

tableView.estimatedRowHeight = 44.0 
tableView.rowHeight = UITableViewAutomaticDimension 

を追加します。その後、cellForRowAtIndexPathメソッドでは、あなたはセルを返す前に、次の行を追加します。

cell.textLabel!.numberOfLines = 0 

幸運の人々を、そしてあなたは1を持っている場合は、元の質問に答えを追加してください:)

関連する問題