触摸部分索引时的UITableView覆盖

时间:2012-02-08 00:08:42

标签: objective-c ios5 xcode4.2

我有一个非常自定义的表视图,实际上用作内容视图,但表视图是显而易见的选择。我有一个用于滚动TableView的部分索引 - 但是没有部分(好吧,其中一个很明显)。出于用户方向的目的,我想淡化一个半透明的表格视图,并在那里显示文本。当滚动新的iPod nano的部分索引时,它应该看起来像字母的叠加。我不知道我应该把代码放在哪里 - 因为我的视图也必须在某个时候再次消失,我真的不想使用通知。我在tableview中初始化视图:sectionForSectionIndexTitle方法。提前谢谢。

1 个答案:

答案 0 :(得分:0)

在.h文件中创建一个属性

@property (nonatomic, retain) UILabel *overlayLabel;

并将以下代码添加到.m文件

- (void)viewDidLoad {
      [super viewDidLoad];
      self.overlayLabel = [[[UILabel alloc] initWithFrame:CGRectMake(0.0f,
                                                                     0.0f,
                                                                     self.tableView.frame.size.width,
                                                                      self.tableView.frame.size.height)] autorelease];
      overlayLabel.backgroundColor = [UIColor clearColor];
      overlayLabel.alpha = .5f;
      overlayLabel.textAlignment = UITextAlignmentCenter;
      overlayLabel.text = @"Some text";
    }

    - (void)viewWillAppear:(BOOL)animated {
      [super viewWillAppear:animated];
      [self.tableView addSubview:overlayLabel];
    }

    - (void)viewWillDisappear:(BOOL)animated {
      [super viewWillDisappear:animated];
      [overlayLabel removeFromSuperview];
    }