2014-12-28 13 views
8

ich auf einer App arbeite, die eine UITableViewController hat, die eine Liste von Werten zeigt, wie so:UITableView mit Statusleiste Störende

ScreenShot

Wie kann ich den Tisch so verschieben, dass sie nicht kollidieren mit meiner Statusleiste? Es scheint, dass ich keine Einschränkungen für diese Szene anwenden kann, also bin ich ratlos.

+1

sehen: http://stackoverflow.com/questions/ 18900428/ios-7-uitableview-shows-under-status-bar? Rq = 1 – kovpas

Antwort

2

Verwenden Sie die folgenden drei Eigenschaften auf Ihrem UIViewController

self.edgesForExtendedLayout=UIRectEdgeNone; 
self.extendedLayoutIncludesOpaqueBars=NO; 
self.automaticallyAdjustsScrollViewInsets=NO; 
+0

Dies funktioniert nicht für einen UITableViewController, der in einen TabBarController eingebettet ist. – coco

+0

Diese Antwort ist fast ein Jahr alt, wahrscheinlich hat es zu der Zeit funktioniert. Es kann nicht erwartet werden, dass die Antworten so gepflegt werden, dass sie mit jeder neuen Version von iOS funktionieren. Kaum ein Grund für eine Down-Abstimmung IMO. – Rick

+1

Um ehrlich zu sein habe ich versucht den Downvote zu ändern, aber es war nicht mehr möglich - also schrieb ich den Kommentar. Ja, ich habe wirklich einen Fehler mit diesem ersten Downvote in meinem Leben gemacht, aber es scheint, als ob ich es nicht korrigieren kann. – coco

1

Set edgesForExtendedLayout für die Viewcontroller zu UIRectEdgeNone in Ihrem viewDidLoad() Methode. Dies wird die Tableview von unten in der Statusleiste

self.edgesForExtendedLayout = UIRectEdgeNone; 
0

Versuchen Sie dies auf iOS 9. In Ihrem View-Controller viewDidLoad() starten -

self.yourTableViewReference.contentInset.top = 20 
self.yourTableViewReference.scrollIndicatorInsets.top = 20