سؤال

وكان تطبيق يستند إلى وحدة تحكم الملاحة. وقررت استخدام القضبان التبويب في طلبي.

وعندما يضغط المستخدم في بعض البند شريط التبويب أريد أن عرض وحدة تحكم رأي معين - وأريد برمجيا في قانون بلدي اختيار واحدة لعرض

وحاولت أن تضيف في بناء واجهة وحدة تحكم الملاحة في شريط التبويب بلدي، ولكن لم يتم دعا viewWillAppear من وحدة تحكم وجهة نظرها.

وكيف يمكنني تنفيذ هذه الميزة؟

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

المحلول

وأنا لا أعرف ما إذا كان هو "الطريق الصحيح"، ولكن هنا كيف أفعل عادة هذا مع ثلاث علامات التبويب.

- (void)initControls {
    // Create the window.
    [self setWindow:[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]];

    // Create Tab Bar.
    tabCon = [[UITabBarController alloc] init];

    // Local array variable that holds the viewcontrollers.
    // Capacity corresponds to the number of VC's
    NSMutableArray *localVCArray = [[NSMutableArray alloc] initWithCapacity:3];

    MyFirstViewController *oneViewController = [[MyFirstViewController alloc] init];
    UINavigationController *oneNavCon = [[UINavigationController alloc] initWithRootViewController:oneViewController];
    [localVCArray addObject:oneNavCon];
    [oneViewController release];
    [oneNavCon release];

    MySecondViewController *twoViewController = [[MySecondViewController alloc] init];
    UINavigationController *twoNavCon = [[UINavigationController alloc] initWithRootViewController:twoViewController];
    [localVCArray addObject:twoNavCon];
    [twoViewController release];
    [twoNavCon release];

    MyThirdViewController *threeViewController = [[MyThirdViewController alloc] init];
    UINavigationController *threeNavCon = [[UINavigationController alloc] initWithRootViewController:threeViewController];
    [localVCArray addObject:threeNavCon];
    [threeViewController release];
    [threeNavCon release];

    // Set the tab bars array of view controllers to the localVCArray
    [[self tabCon] setViewControllers:localVCArray animated:YES];

    // Release the localVCArray, all of its contents are now retained by tabCon.
    [localVCArray release];

    // Add controls to window and show.
    [window addSubview:[tabCon view]];
    [window makeKeyAndVisible];
}

في طريقة الحرف الأول كل viewController يمكنك أن تفعل شيئا مثل:

[[self tabBarItem] setImage:[dataSource tabConImg]];
[[self tabBarItem] setTitle:[dataSource name]];
[[self navigationItem] setTitle:[dataSource navConName]];

لتعيين الرمز المستخدم في شريط التبويب، العنوان في شريط التبويب، وعنوان البند الذي الملاحة.

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