2016-11-03 2 views
0

다시 시작하지 않고 UI 설정을 업데이트하는 설정 관리자를 만들었습니다. 대부분의 설정은 강제로 다시 그리기를 할 수 있지만 탭 표시 줄을 사용하면 더 제한적으로 보입니다. (이 언제든지 viewDidLoad 후이 될 수 참고) : 나는 설정 변경 알림을받을 때스위프트 : 새로 고침 탭 막대 배경색 동적으로

나는 다음 내 UITabBarController 내 탭 표시 줄을 업데이트

self.tabBar.backgroundColor = tabBarBackgroundColour 

이 색상을 업데이트 않고 약 후 5 -10 초.

나는 탭 모음과보기 모두에서 setNeedsLayoutsetNeedsDisplay을 사용하여 강제로 업데이트하는 여러 가지 방법을 시도했지만 어느 것도 작동하지 않습니다.

self.tabBar.setNeedsLayout() 
self.tabBar.setNeedsDisplay() 

아니면 다른 사람들이 이미지를 업데이트 할 때 비슷한 문제를했지만, 아무 소용에 보는 바와 같이 나는 또한 각각의 탭 표시 줄의 항목을 업데이트하려고했습니다

self.view.setNeedsLayout() 
self.view.setNeedsDisplay() 

.

+1

주 스레드의 색상을 업데이트 하시겠습니까? 배경 스레드에서 UI를 업데이트하면 때때로 끌기가 지연된다는 것을 상기합니다 ... – JohnnyAW

답변

0

주 스레드에서 배경색을 업데이트하고 있는지 확인하십시오.

DispatchQueue.main.async { [weak self] in 
    self?.tabBar.backgroundColor = tabBarBackgroundColour 
    } 
관련 문제