在段类型选项卡的子视图中创建 uitableview
Posted
技术标签:
【中文标题】在段类型选项卡的子视图中创建 uitableview【英文标题】:Create uitableview in sub view of segment type tabs 【发布时间】:2014-08-26 10:53:34 【问题描述】:我正在开发一个应用程序,该应用程序具有 3 个选项卡,例如分段选项卡,当用户点击一个选项卡时,它将在视图中加载一个 uitable,因此我有 3 个选项卡,我想加载 3 个不同的 uitableviews。让我到目前为止的大部分代码。
ViewDidLoad 代码:
- (void) viewDidLoad
[[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent];
DKScrollingTabController *leftTabController = [[DKScrollingTabController alloc] init];
leftTabController.delegate = self;
[self addChildViewController:leftTabController];
[leftTabController didMoveToParentViewController:self];
[self.view addSubview:leftTabController.view];
leftTabController.view.frame = CGRectMake(0, 170, 320, 60);
leftTabController.view.backgroundColor = [UIColor colorWithRed:1.0 green:0.6 blue:0.7 alpha:1.0];/// Baby Pink Color
leftTabController.buttonPadding = 53.3;
leftTabController.underlineIndicator = YES;
leftTabController.underlineIndicatorColor = [UIColor darkGrayColor];
leftTabController.buttonsScrollView.showsHorizontalScrollIndicator = NO;
leftTabController.selectedBackgroundColor = [UIColor grayColor];
leftTabController.selectedTextColor = [UIColor whiteColor];
leftTabController.unselectedTextColor = [UIColor whiteColor];
leftTabController.unselectedBackgroundColor = [UIColor clearColor];
leftTabController.selection = @[@"PLACE\n0", @"PLACE\n0", @"PLACE\n0" ];
[leftTabController setButtonName:@"Ingredients\n07\nCount" atIndex:0];
[leftTabController setButtonName:@"Nutrition\n334\nCalories" atIndex:1];
[leftTabController setButtonName:@"Directions\n30\nMinutes" atIndex:2];
[leftTabController.buttons enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop)
UIButton *button = obj;
button.titleLabel.numberOfLines = 3;
button.titleLabel.textAlignment = NSTextAlignmentCenter;
NSString *buttonName = button.titleLabel.text;
NSString *text = [buttonName substringWithRange: NSMakeRange(0, [buttonName rangeOfString: @"\n"].location)];
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:buttonName];
NSDictionary *attributes = @ NSFontAttributeName : [UIFont systemFontOfSize:10] ;
NSRange range = [buttonName rangeOfString:text];
[attributedString addAttributes:attributes range:range];
button.titleLabel.text = @"";
[button setAttributedTitle:attributedString forState:UIControlStateNormal];
];
[super viewDidLoad];
#pragma mark - TabControllerDelegate
- (void)DKScrollingTabController:(DKScrollingTabController *)controller selection:(NSUInteger)selection
if (selection == 0)
NSLog(@"index 1");
if (selection == 1)
NSLog(@"index 2");
if (selection == 2)
NSLog(@"index 3");
到目前为止,它的 nsloging 正确,但我不知道如何在这些选项卡中加载 uitable。谢谢。
【问题讨论】:
【参考方案1】:ObjectiveC 有一个内置标签栏。您可以轻松加载它。
关于为表中的每个选项卡加载不同的数据。你有 不同的选择:
每次在表中加载正确的数据。 在表格中包含所有数据(例如,在不同的部分并隐藏/显示它们) 有 3 个不同的表(在不同的 uiView 上)。 有不同的 UIViewControllers 可能还有其他选项。我会选择不同 UIViews 选项的不同表格。
【讨论】:
以上是关于在段类型选项卡的子视图中创建 uitableview的主要内容,如果未能解决你的问题,请参考以下文章