2014-09-07 3 views
0

현재 프로젝트에서 매우 이상한 문제가 하나 있습니다. 1. scrollView를 보유하고있는 UIViewcontroller입니다. viewContrl을 전환 한 후 알림이 실행되지 않습니다.

`CGRect frame = self.mainScrollView.bounds; 
    frame.origin.x = frame.size.width * page; 
    frame.origin.y = -66; 

    id publicView =[[[NSBundle mainBundle] loadNibNamed:[viewNameArray objectAtIndex:page] owner:self options:nil] objectAtIndex:0]; 
    [publicView setDelegate:self]; 
    [publicView setContentMode:UIViewContentModeScaleAspectFit]; 
    [publicView setFrame:frame]; 
    [self.mainScrollView addSubview:publicView];` 
  1. 및 뷰 위의

    일부 NSnotications이 포함 2.ScrollView 실제로 다음과 같은 펜촉에서 XIB 3 뷰를로드합니다. 하지만 여기서 문제는보기가로드 될 때만 처음으로 알림을 호출하는 것입니다. 다른 뷰 컨트롤러로 이동하여 스크롤 뷰 알림이있는 동일한 뷰 컨트롤러로 돌아 오면 호출되지 않습니다. 어느 누구도 제가 건축 한 건축물에 대해 잘못된 제안을 할 수 있습니까?
+0

문제를 파악하는 데 도움이되는 알림이 무엇인지 표시해야한다고 생각합니다. – rptwsthi

+0

나는이 질문을 좋아한다. 훌륭한 코드를 보여줍니다. 어쨌든 코드는 질문과 관련이 있습니까? 아니요. '보기가로드 될 때만 알림 만 처음으로'라고 말했을 때 자신의 질문에 답변했을 것입니다. 또한보기로 돌아갈 때 관찰자를 다시 추가하는 경우 관찰자를 제거하려는 경우 /를 고려하십시오. – RyanTCB

답변

1

알림은 View Controller의 init 또는 viewDidLoad 메소드에있을 가능성이 큽니다. 대신 viewWillAppear 메서드에 배치하여 뷰 컨트롤러가 표시 될 때마다 해당 메서드가 호출되도록합니다. 이 코드를보기 컨트롤러에 추가하여 알림을 호출합니다.

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    // post your notifications here 
} 
관련 문제