我有一個基於Sprite Kit的遊戲,在一個場景中使用UIView,我這樣做是爲了能夠利用UITableViewController來呈現遊戲設置屏幕。我遇到的困難是,當用戶將他們的iPad系統可訪問性設置設置爲使用(額外)大型類型時,UITableView中的文本對於單元格來說太大,並且看起來很傻。我想要做的是直接禁用應用程序中的動態類型,以便它始終在單元格中顯示相同大小的類型。我已經找到了另一個類似的帖子(here),但響應提供了一個Objectve-C響應:在Swift中禁用動態類型
#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中做同樣的事情的正確方法是什麼?
這是一個懶惰的警察對於許多用戶來說,這對於實際上非常重要的功能非常重要。不要像這樣偷工減料。 – Alexander
@AMomchilov我同意!實際上,我的團隊剛剛討論過它,我們將在未來的版本中實現此功能,但現在我們只需要表格就不會看起來不吉利。所以實際上,這是一種臨時性的創可貼。感謝您的評論,tho。 – zeeple
@zeeple表看起來不好看,這正是我實現上述代碼的原因。我也確保我有一個相當大和可讀的默認字體。 –