【问题标题】:can i add segmented control at the top without scrolling in Tableview我可以在顶部添加分段控件而不在 Tableview 中滚动吗
【发布时间】:2015-11-04 20:33:00
【问题描述】:

我的屏幕上有一个 uitableview,我在它的顶部添加了 uiview 以在其中放置一个分段控件。我的问题是,当我滚动页面时,分段控件也与表格单元格一起滚动。我怎样才能删除仅针对分段控件的滚动?

- (void)setExtractedImageForTableView:(UIImage *)extractedImage {
self.documentImageView.image = nil;
self.documentImageView = nil;
self.documentImageView = [[UIImageView alloc] initWithImage:extractedImage];
self.documentImageView.contentMode = UIViewContentModeScaleAspectFit;
if (!CGSizeEqualToSize(extractedImage.size, CGSizeZero)) {
    self.documentImageView.frame = CGRectMake(CGRectGetMinX(self.view.frame), CGRectGetMinY(self.tableView.frame) + 70, CGRectGetWidth(self.view.frame), (extractedImage.size.height/extractedImage.size.width) * CGRectGetWidth(self.view.frame));
    self.segmentedView.frame = self.documentImage.frame;
    [self.segmentedView addSubview:self.segment];
    [self.segmentedView addSubview:self.documentImageView];
    [self.tableView.tableHeaderView addSubview:self.segment];
    [self.tableView.tableHeaderView addSubview:self.documentImageView];
    CGRect frame = self.documentImageView.frame;
    frame.size.height = self.documentImageView.frame.size.height + 100;
    self.tableView.frame = CGRectMake(0, 0, 400, 300);
    self.tableView.tableHeaderView.frame = frame;
}
}

【问题讨论】:

  • 喜欢在框架顶部添加段控件并在该段控件框架之后启动/创建表格视图。
  • 只需将未分段的控件添加到 uiview。不表视图
  • [self.segmentedView addSubview:self.segment]; ..添加这个不起作用:/ @Uma

标签: ios objective-c uitableview uisegmentedcontrol


【解决方案1】:

按照步骤:

  1. 首先添加全 320*480 的视图。
  2. 在它之上添加所需大小的段控件。
  3. 然后添加左侧高度 = (480 - 段控制高度) 的滚动视图。
  4. 在左边的高度添加另一个视图。
  5. 在上面添加表格视图。

这将创建您的 UI。 然后添加scrollview的委托方法。你会得到你想要的

- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;

【讨论】:

  • 我在segmentedView 之后使用表格部分,而不是tableviewController 中的表格视图单元格。你认为,它还能工作吗?
  • 我认为根据我的理解,您的问题的解决方案将添加一个tableView并以编程方式提及您需要多少个部分。
  • 不,我很抱歉,也许我向你解释错了。让我再解释一下,好吧,我有一个表视图控制器,在这个控制器内部,我在 UIView 和几个 tableViewSection 中有一个分段控件。当我运行应用程序部分时,分段控件一起滚动。但我需要在顶部固定分段控制。它不应该滚动部分。因为我需要在顶部看到分段控件,即使我滚动页面..
  • 只需将您的滚动视图大小调整为仅与表格视图部分相同。从段控制中删除它
  • 表格视图部分不像表格视图单元格.. 我不能把它们放在一个 scrool 视图中.. :/
【解决方案2】:

你有两个选择:

1- 在表格视图上方放置分段控件,而不是在表格视图标题内,因为我想你将它与表格视图标题一起粘贴,这就是他滚动的原因。

2- 如果您希望 tableview 占据整个屏幕,请将分段控件放在顶部标题中。您只需使用分段控制器视图设置导航控制器标题视图的标题视图。


【讨论】:

    【解决方案3】:
     1. View add on screen size ex (320 *568)
    
    1. 顶栏在视图中添加段控件

    2. 并在段控制后添加表格视图

      添加tableview的datasource和delegate

    【讨论】:

    • 想法很好,添加视图没问题,但表视图部分不会进入该视图。这就是问题所在。表视图控制器中没有表视图单元格,有部分,它们是不同的东西:/
    最近更新 更多