ios - مسح - مشاهدة مواقع الويب التي تزورها كثيرًا




كيف يمكن إخفاء/إظهار علامة تبويب طريقة العرض باستخدام شريط تنقل في iOS؟ (6)

Swift 3: قم بضبط إخفاء شريط tab في viewwillAppear أو viewdidappear

self.tabBarController?.tabBar.isHidden = true

لدي وجهات النظر مع شريط التنقل وشريط التبويب. ما أرغب في حدوثه هو إخفاء شريط علامات التبويب على طريقة عرض معينة وإظهار شريط علامات التبويب مرة أخرى عند قيام المستخدم بتغيير المشاهدات.

رأيت مقتطفًا من الشفرة لإخفاء شريط علامات التبويب:

-(void)makeTabBarHidden:(BOOL)hide
{
    // Custom code to hide TabBar
    if ( [tabBarController.view.subviews count] < 2 ) {
        return;
    }

    UIView *contentView;

    if ( [[tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] ) {
        contentView = [tabBarController.view.subviews objectAtIndex:1];
    } else {
        contentView = [tabBarController.view.subviews objectAtIndex:0];
    }

    if (hide) {
        contentView.frame = tabBarController.view.bounds;       
    }
    else {
        contentView.frame = CGRectMake(tabBarController.view.bounds.origin.x,
             tabBarController.view.bounds.origin.y,
             tabBarController.view.bounds.size.width,
             tabBarController.view.bounds.size.height - tabBarController.tabBar.frame.size.height);
    }

    tabBarController.tabBar.hidden = hide;
}

من: http://nickwaynik.com/iphone/hide-tabbar-in-an-ios-app/

أدعو هذا في طريقة العرض حيث أريد إخفاء شريط علامات التبويب

[self makeTabBarHidden:YES];

يعمل بشكل جيد عندما أقوم بعرضه / إخفائه على هذا المنظر ، ولكن عندما أتنقل إلى العرض السابق ، يكون شريط علامات التبويب مخفيًا أيضًا. حاولت استدعاء هذه الوظيفة في viewDidUnload ، viewWillDisappear ، viewDidDisappear لكن لم يحدث شيء. وينطبق نفس الأمر عند استدعاء الدالة في طريقة العرض viewDidLoad ، و viewWillAppear ، و viewDidLoad في العرض السابق.


الخاصية نفسها متاحة على مفتش السمات عند النقر فوق وحدة تحكم العرض الخاصة بك على ملف Xib أو لوحة العمل.



يمكنك أيضًا القيام بذلك في Interface Builder من أجل لوحة العمل. حدد وحدة التحكم في العرض التي تريد إخفاء شريط علامات التبويب لها ، ثم حدد "إخفاء شريط سفلي عند الدفع".


يمكنك تعيين UIViewController.hidesBottomBarWhenPushed بدلاً من ذلك:

DetailViewController *detailViewController = [[DetailViewController alloc] init];
detailViewController.hidesBottomBarWhenPushed = YES;
[[self navigationController] pushViewController:detailViewController animated:YES];    
[detailViewController release];

self.navigationController.hidesBottomBarWhenPushed=YES;

أضف هذا السطر إلى ملفك viewdidload أو viewWillAppear سيؤدي هذا إلى إخفاء علامة التبويب من أسفل.





uitabbarcontroller