كيفية ضبط لون شريط التنقل في قائمة تكوين شريط علامات التبويب

StackOverflow https://stackoverflow.com/questions/1404197

سؤال

تمت إزالة رابط ImageShack الميت

كما ترون، فإن العرض الذي أحتاج إلى تغييره هو العرض المقدم لتخصيص ترتيب شريط التبويب.أريد تغيير لون شريط التنقل (عرض "Konfigurieren" الذي يعني "تكوين")، لقد اكتشفت بالفعل كيفية تغيير لون "المزيد" - وحدة تحكم التنقل، ولكن ليس هذا اللون.هل يمكن لأحد أن يساعدني في ذلك؟

هل كانت مفيدة؟

المحلول

استخدم الباحث AppDelegate

tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor blackColor];

نصائح أخرى

وأعتقد أن ما كنت تبحث عن هذا (يجب القيام به عند إنشاء وحدة تحكم الملاحة الخاص بك، وعادة في تفويض تطبيقك):

UINavigationController *navigationController;
...
navigationController.navigationBar.tintColor = [UIColor blackColor];

ولها ستعمل بالتأكيد العمل! :-)

self.navigationController.navigationBar.tintColor  = [UIColor blackColor];

ويمكن أن يكون أسهل (استخدام في شريط التبويب مندوب):

- (void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray *)viewControllers {
id modalViewCtrl = [[[tabBarController view] subviews] objectAtIndex:1];  
if([modalViewCtrl isKindOfClass:NSClassFromString(@"UITabBarCustomizeView")] == YES)
    ((UINavigationBar*)[[modalViewCtrl subviews] objectAtIndex:0]).tintColor = [UIColor redColor];
}

وهناك طريقة سهلة لتغيير كل الأنماط شريط التنقل بدلا من تغيير كل واحد على حدة.

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

ومجرد مجموعة هذا الرمز في واحدة من وجهات نظركم الأولية. مع ذلك، لديك المزيد من التحكم والملاحة وحدة تحكم التكوين الملاحة (التي تظهر بعد النقر على "تحرير" بمزيد من تحكم الملاحة) الحصول على نمط مختلف.

ومثل هذا يمكنك تغيير لونه إلى مختلف واحد أو تغيير صورة الخلفية.

وآمل أن يساعد هذا.

لقد تمكنت من تغيير لون Configure NavBar مثل هذا:

  1. قم بإنشاء فئة جديدة ترث من UITabBarController.
  2. تنفيذ هذه الطريقة:

    -(void)beginCustomizingTabBar:(id)sender
    {
        [super beginCustomizingTabBar:sender];
    
        // Get the new view inserted by the method called above
        id modalViewCtrl = [[[self view] subviews] objectAtIndex:1];
    
        if([modalViewCtrl isKindOfClass:NSClassFromString(@"UITabBarCustomizeView")] == YES)
        {
            UINavigationBar* navBar = [[modalViewCtrl subviews] objectAtIndex:0];
    
            [navBar setBarStyle:UIBarStyleBlackTranslucent];
            [navBar setTranslucent:YES];
        }
    }
    

وبناء الخروج من الإجابة التي قدمها user486217، وهذا قد يكون حتى الدفاعية-ترميز:

id modalViewCtrl = [controller.view.subviews objectAtIndex:1];  
if([modalViewCtrl isKindOfClass:NSClassFromStrin(@"UITabBarCustomizeView")] == YES) {
    id navigationBar = [[modalViewCtrl subviews] objectAtIndex:0];
    if ([navigationBar isKindOfClass:[UINavigationBar class]]) {
        ((UINavigationBar*)navigationBar).tintColor = [UIColor redColor];
    }
}}

إذا كنت تبحث عن الألوان القياسية (رمادي، أسود، أبيض)، يمكنك تعيين هذه القيم ضمن كسكودي 5. حدد تحكم عرض كامل، وحدد المفتش الصفات. تحت سمات ستجد القائمة المنسدلة بجوار "الأعلى بار". هناك يمكنك اختيار وضع مختلف للون والتعتيم وحدة تحكم شريط التنقل.

والمبينة أدناه هي عدد قليل من الصور. ويساعد هذا الأمل!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top