2009-06-23 35 views
10

Tôi có một vấn đề và tôi sẽ cố gắng để giải thích vấn đề này:Làm cách nào để truy cập bộ điều khiển chế độ xem siêu?

  1. tôi có một chính UIViewController (Whole màn hình)
  2. tôi có một thứ UIViewController (setbounds)
  3. tôi thêm xem thứ của tôi để mainView tôi sử dụng này:

    [mainController.view addSubview:secondaryController.view]; 
    
  4. tôi tạo ra một bộ điều khiển thứ ba: modalController, tôi thêm nó vào secondar của tôi y điều khiển như thế này:

    [secondaryController presentModalViewController:modalController animated:YES]; 
    
  5. tôi làm cho tính toán dựa trên một số sự kiện bên trong modelController tôi.

  6. tôi có thể gửi tin nhắn từ tôi modalController-secondaryController tôi sử dụng:

    [[self parentViewController] performSelector : @selector(myMethodInSecondaryController:) withObject : myObject afterDelay : .5]; 
    

    LƯU Ý: "tự" tương ứng với modalController

  7. tôi cần phải vượt qua "myObject" để số mainController của tôi, nhưng tôi không thể tham chiếu đến số mainController của mình từ số secondaryController. Tôi cố gắng này:

    [[self parentViewController] performSelector : @selector(myMethodInMainController:) withObject:myObject afterDelay : .5]; 
    

    LƯU Ý: "tự" tương ứng với secondaryController

    nhưng nó không hoạt động, tôi có quyền truy cập vào xem mainController của tôi bằng cách sử dụng: self.view.superview

    LƯU Ý: "tự" là của tôi secondaryController

nhưng không với bộ điều khiển của nó.

Trả lời

32

Trong điều khiển phụ của bạn, hãy thử

id mainViewController = [self.view.superview nextResponder]; 

và kiểm tra xem đây là bộ điều khiển xem bạn đang tìm kiếm.

tài liệu của Apple -[UIResponder nextResponder]:

UIView thực hiện phương pháp này bằng cách trả lại đối tượng UIViewController quản lý nó (nếu nó có một) hoặc SuperView của nó (nếu nó không)

+1

Cảm ơn Nikolai !!!!!!!!!!!!!!!!! Điều đó hoạt động hoàn hảo :) cảm ơn Trân trọng từ Guadalajara Mexico !! Alejandra :) – Alejandra

+1

Bạn được chào đón (từ Berlin, Đức) –

Các vấn đề liên quan