2012-05-07 41 views
6

Tôi đang sử dụng idev-recipes/RaisedCenterTabBar và tôi muốn có chế độ xem phương thức được gọi từ nút giữa chứ không phải máy ảnh.Nút thanh tab ios sang chế độ xem phương thức

Mã là ở đây: https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar

Bất kỳ ý tưởng về cách để làm việc này?

+0

Có, có thể tăng chế độ xem phương thức từ nhấn vào nút trên 'UITabBar'. Bạn cần đặt câu hỏi của mình cụ thể hơn. –

+0

Cập nhật một chút ... – stewart715

Trả lời

2

tôi sẽ tạo ra lớp con của riêng bạn UITabBarController và sau đó thêm trong phương pháp này:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item { 

} 

Bạn sẽ có thể cho biết những gì mục được chọn và sau đó nhanh chóng một VC phương thức bên trong đó.

+0

Điều gì về VC hiện tại được gắn với mục trong thanh tab? Đó có phải là để được bỏ qua, hoặc tôi có thể loại bỏ nó trong khi vẫn giữ mục thanh tab? – stewart715

+0

Tôi nghĩ bạn có thể bỏ qua nó. Nó không thể được gỡ bỏ (một TabBarController cần phải có một VC cho mỗi tab). –

+7

Nhưng khi tôi mở các phương thức sẽ không chuyển đổi VC phía sau nó và sau đó khi thực hiện với phương thức hiển thị trống VC? Làm cách nào để tôi bỏ qua và không hiển thị hành động mặc định? – stewart715

0

Có thể bạn chỉ cần sử dụng UITabBarDelegate, với phương thức
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
.
Phương thức này được gửi tới đại biểu, khi ai đó nhấn một nút trong thanh tab. Trong đó bạn có thể kiểm tra nếu nó là nút bên phải, và sau đó nhanh chóng điều khiển xem phương thức.

0

Hoặc với subclassing hoặc bằng cách sử dụng các đại biểu, bạn chỉ có thể kiểm tra xem các sản phẩm được chọn là nút giữa bạn và nếu nó là, có thanh tab chọn mục đã được chọn trước đó và sau đó trình bày điều khiển mô hình nhìn của bạn. Vì bạn sẽ làm điều này trong cùng một nguồn RunLoop mà lựa chọn ban đầu đã xảy ra, việc lựa chọn tab sẽ được hoàn tác một cách hiệu quả mà không cần chuyển sang VC trung gian.

0

Theo mẫu mã do bạn cung cấp => https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar

Các trung ương đã tăng nút tab là một UIButton, vì vậy chỉ cần thiết lập các hành động của nút đó như thế này trong lớp BaseViewController.m

[button addTarget:self action:@selector(showmodalview) forControlEvents:UIControlEventTouchUpInside]; 

và sau đó trong phương pháp showmodalview viết mã này =>

-(void)showmodalview 
{ 
    UIViewController *view1=[[UIViewController alloc] init]; // you can use any view controller instance you want ,this is just the example. 
    [self presentModalViewController:view1 animated:YES]; 
} 
4

Có cách tiếp cận tốt hơn để theo dõi thực hiện điều đó. Và dễ dàng hơn nhiều.

Điều tôi hiểu bằng cách triển khai bằng phương pháp này: https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar là những điều lạ đang xảy ra khi bạn cố gắng ẩn thanh tab. Vì vậy, giải pháp tốt nhất tôi tìm thấy cho tôi (giống như bạn làm) là ở đây: http://www.lantean.co/display-a-modal-uiviewcontroller-when-a-uitabbaritem-is-pressed/

Không cần phải làm gì khác. Chỉ cần bỏ qua bộ điều khiển xem mà UITabBarItem được liên kết với và trình bày chế độ xem phương thức của bạn! Đó là tất cả!

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