2017-06-06 9 views
32

Właśnie rozpoczął kompilacji do iOS 11 i zauważył, że Apple już ogłoszony własność'automaticallyAdjustsScrollViewInsets' została zaniechana w iOS 11,0

var automaticallyAdjustsScrollViewInsets: Bool { get set } 

jako wycofywana:

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin

enter image description here

Czy istnieje inna właściwość, aby naprawić to ostrzeżenie w systemie iOS 11?

Czy wartość domyślna pozostanie prawdziwa, czy też będzie to obsługiwane w przyszłości?

Odpowiedz

35

Ustawienie domyślne dla tej właściwości jest teraz prawdziwe. Jeśli musisz to ustawić, musisz ustawić go w przewijanym widoku, który będzie hostem viewController i ustawić jego właściwość contentInsetAdjustmentBehavior. Poniżej znajduje się przykład:

scrollView.contentInsetAdjustmentBehavior = .automatic 
+3

Mimo że użyłem słowa ".never", ponieważ ustawiłem je jako fałszywe, wydaje się, że jest to właściwy zamiennik! Dziękuję Ci. – Lepidopteron

+0

Jak mogę sobie z tym poradzić? self.automaticallyAdjustsScrollViewInsets = false –

+0

@RajasekharPasupuleti 'scrollView.contentInsetAdjustmentBehavior = .never' – WongWray

37

Kod ten może pomóc:

if #available(iOS 11.0, *) { 
    scrollView.contentInsetAdjustmentBehavior = .never 
} else { 
    automaticallyAdjustsScrollViewInsets = false 
} 
+0

co to jest" scrollView "? –

+1

@AlexeyStrakh scrollView jest czymkolwiek 'UIScrollView', który ma dopasowane wypustki. Na przykład na "UICollectionViewController" będzie to "self.collectionView", na "UITableViewController" będzie to "self.tableView". –

+0

Świetnie !!! Byłem tak głupi, nie biorąc pod uwagę aktualizacji na iOS 11. –

-1

Tworzenie User Defined Runtime Attribute nazwie contentInsetAdjustmentBehavior dla ScrollView:

enter image description here

Gdzie Value = 2 wskazuje .never.

+0

Nie tak czyste, trudne do wyszukania błędy również nie jest jasne, co jest 2. – f0rz

+0

Jest to użyteczne, jeśli korzystasz z kreatora interfejsów. – mobjug

+0

Myślę, że używanie IB może pomóc zmniejszyć kod, dzięki czemu twoje pliki stają się czystsze. –

Powiązane problemy