2012-06-22 60 views
7

Tôi gặp sự cố sau:Điều hướng màn hình bằng thanh tab và các nút

Trong ứng dụng của tôi có hai cách để điều hướng đến màn hình khác: bằng nút hoặc bởi thanh tab.

Tất cả màn hình đều có thanh tab gọi các màn hình khác nhưng màn hình chính là màn hình có nút nhưng không có thanh tab.

Khi tôi bắt đầu phát triển ứng dụng của mình, tôi chọn mẫu ứng dụng của thanh tab và nó hoạt động tốt nếu tôi gọi màn hình bằng cách nhấn tab. Sự cố bắt đầu khi tôi làm việc với màn hình chính:

  • Tôi cần phải "ẩn" thanh tab trong màn hình cụ thể này.
  • Trong màn hình chính, nếu tôi gọi một màn hình mới bằng các nút, thanh tab biến mất trong màn hình mới (có ý nghĩa bởi vì màn hình đang gọi bằng một nút chứ không phải bởi thanh tab).

Để giải quyết vấn đề này, tôi có thể tạo thanh tab tùy chỉnh (Tôi chưa biết cách) và gọi nó trên màn hình như UIControl, vì vậy nếu tôi cần thay đổi thanh tab các sửa đổi sẽ có thể trên tất cả các màn hình gọi điều khiển đó.

Bạn đề xuất điều gì? Bạn nên tạo thanh tab tùy chỉnh và sử dụng nó như một UIControl? nếu có, làm thế nào tôi có thể tạo một?

tôi sử dụng để gọi cửa sổ

RecurringGiftListViewController *listViewController = [[RecurringGiftListViewController alloc] initWithNibName:@"RecurringGiftListViewController" bundle:nil]; 
listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self presentModalViewController:listViewController animated:YES]; 
[listViewController release]; 
+0

bạn có thể đặt mã bit mà bạn sử dụng để thúc đẩy quan điểm? – Ahmed

+0

@Ahmed chắc chắn, tôi sử dụng, tôi sử dụng điều này để gọi các cửa sổ RecurringGiftListViewController * listViewController = [[RecurringGiftListViewController alloc] initWithNibName: @ "RecurringGiftListViewController" bundle: nil]; listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [tự hiện tạiModalViewController: listViewController hoạt ảnh: YES]; [phát hành listViewController]; – avmauricio

Trả lời

1

Nó không âm thanh như ou nên sử dụng một thanh tabbar ở tất cả. Một thanh tab không nên biến mất khi bạn nhấn một trong các nút. Hãy nghĩ về nó như một menu chính cho ứng dụng của bạn. Bạn có thể có các màn hình khác, như bộ điều khiển điều hướng hoặc hộp thoại phương thức chiếm toàn bộ màn hình, nhưng sau đó bạn có thể thoát trở lại thanh tabbar.

Suy nghĩ qua cấu trúc giao diện người dùng của bạn một lần nữa. Có lẽ bạn có thể sắp xếp lại nó để làm cho "màn hình chính" của bạn một hộp thoại có thể truy cập từ một trong các trang tabbar?

+0

vấn đề là thiết kế ứng dụng được tạo bởi ứng dụng khách nên tôi không nghĩ rằng mình có thể thay đổi nó – avmauricio

+1

Khi khách hàng cung cấp cho bạn thiết kế xấu, bạn cần giáo dục họ về lý do tại sao nó xấu và cách giao diện người dùng mô hình được cho là hoạt động. Tôi đã có một khách hàng về cơ bản đã làm một thiết kế web cho ứng dụng của họ, hoàn thành với các hộp kiểm nhỏ, nhỏ. Cố gắng bẻ cong Cocoa Touch thành thiết kế tồi tệ sẽ chỉ khiến bạn đau đớn và dẫn đến một sản phẩm tồi. Đó là một tình huống mất mát. – geon

1

Vấn đề của bạn là bạn đang trình bày chế độ xem khác của mình dưới dạng 'phương thức'. Thay thế mã của bạn với điều này:

RecurringGiftListViewController *listViewController = [[RecurringGiftListViewController alloc] initWithNibName:@"RecurringGiftListViewController" bundle:nil];    
//listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self.navigationController pushViewController:listViewController animated:YES]; 
[listViewController release]; 

Hy vọng điều này sẽ giúp

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