2015-01-21 3 views
2

UITableViewController 콘텐츠를 표시하도록 UIPageViewController을 설정했습니다. 기능은 정상적으로 작동하지만 테이블이 맨 위에 숨겨져 있고 하단에 이상한 검은 색 막대가 있습니다.검은 색 막대를 표시하는 UIPageViewController

black bar

그래서 내가했던 첫 번째 일은 스토리 보드로 가서 아래 그림과 같이 내 UIPageViewController의 설정을 변경했습니다.

settings

결과보기는 다음과 같이 렌더링 :

black bar2

가 이상적으로 당신이 그 아래의 표를 참조 할 수 있도록 호출기 배경이 반투명하고 싶습니다. 또한, 테이블의 상단이 보이기는하지만 배경이 이상한 회색/반투명 효과로 바뀌는 것을 좋아하지 않습니다. 고칠 방법에 대한 제안?

+1

http://stackoverflow.com/questions/18408269/uipageviewcontroller-page-control-background-color – AdamPro13

답변

1

UIAppearance 프록시를 사용하여 배경색을 포함하여 UIPageControl의 색상을 사용자 정의하십시오.

UIPageControl *pageControl = [UIPageControl appearance]; 
pageControl.pageIndicatorTintColor = [UIColor lightGrayColor]; 
pageControl.currentPageIndicatorTintColor = [UIColor blackColor]; 
pageControl.backgroundColor = [UIColor blueColor]; 

는 네비게이션 바 사용의 투명성을 제거하려면 :

[self.navigationController.navigationBar setTranslucent:NO] 
+0

:

당신의 ViewController가 UIPageControl 아래에 확장 할 수 있도록 UIPageViewController 클래스에이 다음 코드를 추가합니다 'UIPageControl'는 기본적으로 투명합니다. backgroundColor를 투명하게 설정하려고 시도했지만 도움이되지 않았습니다. – Fenda

+1

보여주는 'UIPageViewController'보기 배경색을 켭니다. 그러나, pageviewcontroller 내부에 표시되는 테이블을 페이지 컨트롤 아래에 표시하고 싶습니다. – Fenda

8

UIPageControl의 색상은 이미 분명하다. 따라서, 당신이보고있는 것은 UIPageViewController의 검은 배경입니다. 문제는 UIPageViewController이보기 컨트롤러의 크기를 UIPageControl 아래로 확장하지 못하도록 제한한다는 것입니다.

override func viewDidLayoutSubviews() { 
    //corrects scrollview frame to allow for full-screen view controller pages 
    for subView in self.view.subviews { 
     if subView is UIScrollView { 
      subView.frame = self.view.bounds 
     } 
    } 
    super.viewDidLayoutSubviews() 
} 
+0

이 답변을 받아 들여야합니다. 두통 시간을 절약 해 주셔서 감사합니다. –