Jak ustawić właściwości UIViewController "extend edges"

Widzę następujące selekcje w Storyboardzie do rozszerzania krawędzi widoku interfejsu UIViewController pod paskami navBars/tabBars:

Tutaj wpisz opis obrazka

Ale jak ustawić te właściwości globalnie dla wszystkich moich kontrolerów Viewcontrollerów w kodzie? W przeciwieństwie do ręcznego sprawdzania/odznaczania na każdym kontrolerze ViewController w Storyboard.

Author: hgwhittle, 2013-09-18

3 answers

Jest kilka nowych właściwości w iOS7 do kontrolowania tych ustawień.

edgesForExtendedLayout mówi, jakie krawędzie powinny być przedłużone (lewa, prawa, góra, dół, wszystkie, brak lub dowolna ich kombinacja). Wydłużenie dolnej krawędzi równa się" pod dolnymi paskami", wydłużenie górnej krawędzi równa się" pod górnymi paskami".

extendedLayoutIncludesOpaqueBars informuje, czy krawędzie powinny być automatycznie przedłużone pod nieprzezroczystymi paskami. Więc jeśli połączysz te dwa ustawienia, możesz naśladować dowolną kombinację wskazów kreatora interfejsu w Twoim kod.

 60
Author: dieworld,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-07 06:38:22

Jeśli nie chcesz rozszerzyć na jakiekolwiek krawędzie, po prostu dodaj:

let viewController = UIViewController()
viewController.edgesForExtendedLayout = []
 11
Author: Shaked Sayag,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-02 23:24:39

W Objective-C:

- (void) viewDidLoad {
   [super viewDidLoad];
   [self initVars];
}

- (void) initVars {
   self.edgesForExtendedLayout = UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeRight | UIRectEdgeBottom;
   self.extendedLayoutIncludesOpaqueBars = YES;
}

Właściwości, które chcesz to:

self.edgesForExtendedLayout = UIRectEdgeTop | UIRectEdgeBottom;
 1
Author: jordiz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-21 09:45:00