2012-09-12 17 views
6

Tôi muốn tải lại tất cả các chế độ xem có trong bộ điều khiển thanh tab (UIViewController) .Sau khi tìm kiếm tôi thấy rằng tôi đã áp dụng phương thức setNeedsDisplay nhưng tôi không thể nhận được nơi tôi nên áp dụng nó. cũng được hoan nghênhLàm thế nào để tải lại UIViewController

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    ..... 
    ..... 

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    [self customToolbar]; 
    [self.window addSubview:tabBarController.view]; 
    [self.window makeKeyAndVisible];  
    return YES; 
} 
-(void)customToolbar 
{ 
    //Declared view controllers and their Navigation Controller 
    ..... 

    //Declared tab bar items 
    .....  

    tabBarController = [[GTabBar alloc] initWithTabViewControllers:viewControllersArray tabItems:tabItemsArray initialTab:1]; 
} 
+0

khi bạn muốn tải lại/làm mới VC của mình? – Maulik

+0

Tôi gọi đại biểu ứng dụng trong một lớp NSObject khác nơi tôi đặt một số thao tác nút .. khi nút được nhấn thì tôi muốn tải lại số VC của –

Trả lời

4

Cách chính xác để thực hiện việc này là thêm người VC cần làm mới làm người quan sát đến tên thông báo NSNotificationCenter nhất định. Khi VC nhận được tin nhắn này, chỉ cần gọi một bộ chọn gọi số [self setNeedsDisplay].

Để thêm một VC để NSNotificationCenter:

[[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(setNeedsDisplay) name:@"ViewControllerShouldReloadNotification" object:nil]; 

Đừng quên gọi removeObserver:self khi bộ điều khiển xem được deallocated.

+0

Hi Stavash..Tôi có thể đặt phương thức này ở đâu? Ý tôi là "ViewWillAppear"? Tôi đang gọi dịch vụ web xem giỏ hàng khi tôi chuyển tabbar. Tôi đang sử dụng lớp UIViewController. –

+1

ViewWillAppear được gọi cho mỗi lần xem được hiển thị - đây không chỉ là khi bạn chuyển đổi giữa các thanh tab, mà còn khi bạn đẩy và bật trình điều khiển từ ngăn điều hướng hoặc hiện tại và loại bỏ chế độ xem phương thức. Nếu điều đó phù hợp với nhu cầu của bạn thì có, nếu không bạn sẽ cần phải nghĩ đến một thứ khác – Stavash