2009-02-18 28 views
11

Tôi đang cố gắng chọn/thay đổi tab của UITabViewController theo chương trình.Làm thế nào để thay đổi Tab (của một UITabViewController) lập trình?

tôi đã cố gắng làm việc đó thông qua:

self.tabBarController.selectedIndex = 2; 

này có vẻ là cách mà tôi nên làm điều đó, nhưng nó không hoạt động. Tôi nghĩ rằng có lẽ self.tabBarController trả về một đối tượng chỉ đọc (tôi nhớ nhớ đọc một nơi nào đó), nhưng tôi không chắc chắn làm thế nào để làm cho nó hoạt động.

Mọi trợ giúp đều được đánh giá cao!

+0

Chỉ cần chắc chắn - bạn có cung cấp chỉ mục chính xác không? Chỉ mục tab là ** không ** dựa, vì vậy đối với tab thứ hai, bạn nên cung cấp chỉ mục 1. –

Trả lời

29

Set selectedViewController:

self.tabBarController.selectedViewController = viewControllerYouWant; 

Ví dụ,

self.tabBarController.selectedViewController 
    = [self.tabBarController.viewControllers objectAtIndex:2]; 
3

Theo các tài liệu, selectedIndex hoặc selectedViewController là tài sản bạn muốn và cả hai đều được chuyển nhượng.

Thuộc tính tabBarController là chỉ đọc, nhưng nó trả về một đối tượng có thể chỉnh sửa được.

Vì vậy, tất cả mã của bạn đều phù hợp với tôi.

0

tôi đang làm một cái gì đó như thế này:

[root setSelectedViewController: [root.historyController navController]]; 
1

này hoạt động tốt đối với tôi, nếu bạn muốn làm điều đó bởi chỉ số.

[self.tabBarController setSelectedIndex:2]; 
Các vấn đề liên quan