Ich habe ein Sprite Kit-basiertes Spiel, das eine UIView in einer der Szenen verwendet, und ich mache das, damit ich den UITableViewController nutzen kann, um einen Bildschirm mit Spieleinstellungen zu präsentieren. Die Schwierigkeit, auf die ich stoße, ist, dass, wenn ein Benutzer seine Zugangseinstellungen für das iPad-System auf (extra) großen Typ einstellt, der Text innerhalb des UITableView zu groß für die Zellen ist und einfach albern aussieht. Was ich tun möchte, ist gerade deaktivieren Sie den dynamischen Typ in der App, so dass es immer die gleiche Größe in den Zellen anzeigt. Ich habe einen ähnlichen Eintrag gefunden (here), aber die Antwort bietet eine Objectve-C Antwort:Dynamischen Typ in Swift deaktivieren
#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);
...
}
Ich brauche dies in Swift zu tun. Was ist der richtige Weg, um dasselbe in Swift in Xcode 7+ zu machen?
Dies ist ein fauler Cop -out für eine Funktion, die für viele Benutzer sehr wichtig, in der Tat notwendig ist. Schneiden Sie keine Ecken wie diese. – Alexander
@AMomchilov Ich stimme zu! Und tatsächlich hat mein Team gerade darüber gesprochen und wir werden dieses Feature in einer zukünftigen Überarbeitung implementieren, aber für den Moment brauchen wir nur die Tabellen, um nicht wackelig zu wirken. In der Tat ist es eine temporäre Pflaster. Danke für deinen Kommentar, tho. – zeeple
@zeeple Tabellen nicht schlecht aussehend war genau der Grund, warum ich den obigen Code implementiert habe. Ich habe auch dafür gesorgt, dass meine Seite ziemlich groß und lesbar ist. –