2012-07-21 26 views
8

Tôi đang cố triển khai UITabBar ẩn trong ứng dụng của mình. Tôi đã thiết lập tất cả các hoạt ảnh và chúng hoạt động rất tốt. Tôi chỉ gặp sự cố khi nhận "tab kéo" UIButton của tôi để hiển thị thanh tab. Nó không đáp ứng với sự kiện cảm ứng UIControlEventTouchUpInside. tôi thêm kéo tab để các UITabBar trong UITabBarController:Thêm UIButton làm subview vào UITabBar

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
//Add pull 
    pullButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    UIImage *image = [UIImage imageNamed:@"TabBarPull.png"]; 
    pullButton.frame = CGRectMake(self.tabBar.frame.size.width - image.size.width, -image.size.height + 3, image.size.width, image.size.height); 
    [pullButton setImage:image forState:UIControlStateNormal]; 
    [pullButton addTarget:self action:@selector(pullBarTapped:) forControlEvents:UIControlEventTouchUpInside]; 
    pullButton.userInteractionEnabled = YES; 
    [self.tabBar addSubview:pullButton]; 
} 

Dưới đây là những gì các thanh tab trông giống như mở và đóng cửa:

TabBar not hidden TabBar Hidden

Edit: Tôi đã xác định vấn đề là do nút nằm ngoài khung của UITabBar. Có vẻ như tôi sẽ phải đặt nút bên ngoài UITabBar ... Phim hoạt hình cơn ác mộng.

+0

Vâng, bạn có thể phân lớp UITabBar, tìm ra cách để có được phân lớp của bạn được sử dụng trong UITabBarController (phân lớp nó), sau đó trong lớp con UITabBar của bạn tạo ra một khung lớn hơn, có UITabbar sử dụng khung bình thường của nó, nhưng bây giờ lớp con của bạn sẽ nhận được tất cả các vòi vv Nếu đó là tôi, đầu tiên tôi cố gắng chỉ làm lớp con UITabBar trong một dự án demo, chỉ khi các công trình đó cố gắng làm cho nó hoạt động với tất cả các máy móc khác. Chúc may mắn! –

+0

@Brandon Mcq Hey Tôi đang tìm kiếm một điều tương tự-- bạn đã bao giờ nghĩ ra một giải pháp tốt chưa? Cảm ơn! – RyanG

+0

@Brandon Mcq Chỉ cần nhìn thấy github của bạn, hãy xem lời cảm ơn đó! – RyanG

Trả lời

12

Bạn vẫn có thể thêm UIButton để xem chính 's UITabBarController, không phải trong UITabBar dù .... [myUITabBarController.view addSubview:pullButton]

+4

Điều này làm việc, cảm ơn. Tôi đã tạo một dự án mẫu và đặt nó trên github. [link] (http://github.com/Marxon13/HideableTabBar) –

0

Vì bạn có phần ẩn làm việc trong UITabbar và từ câu trả lời tôi đã thấy ở đây , một thay thế sẽ là giữ UIButton trong UITabbar nhưng cũng thêm nút vào khung nhìn khi UITabbar bị ẩn (vì vậy bạn sẽ có hai nút phủ). Khi thanh tab được hiển thị, hãy ẩn nút bạn đã thêm vào chế độ xem bằng cách sử dụng thuộc tính ẩn trên chế độ xem.

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