プログラムで定義された 2 つのセルを持つセグメント化されたコントロールがあります。アプリに入ると、両方のセルが同じアクションを実行します。1 つ目は Safari で Web ページを開き、2 つ目は画像を開いて現在のビューを 5 秒間カバーします。ポインタはありますか?
.m ファイル内
@property UISegmentedControl *segment;
- (void)viewDidLoad
{
UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Publication", @"About", nil]];
self.tableView.tableHeaderView = segment;
[segment addTarget:self action:@selector(segmentPressed:) forControlEvents:UIControlEventValueChanged];
[self.tableView registerClass:[UITableViewCell class]
forCellReuseIdentifier:@"UITableViewCell"];
}
- (void)segmentPressed:(id)sender {
if (_segment.selectedSegmentIndex ==0) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"******"]];
}else if(_segment.selectedSegmentIndex ==1){
UIImageView *imageView = [[UIImageView alloc] initWithFrame: CGRectMake(0, 0, 320, 480)];
imageView.backgroundColor = [UIColor redColor];
[imageView setImage: [UIImage imageNamed:@"MACSLoad@2x.png"]];
[self.view addSubview: imageView];
sleep(5);
imageView.hidden = YES;
}
}