0

UIButton選択時にカスタムを強調表示したまま約 5 秒間保持してから、他のビューにリダイレクトするにはどうすればよいですか? 私のコードでは、他のビューにリダイレクトするのではなく、選択しても色が表示されません。

これは私のコードです:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
 CGRect rect=CGRectMake(0+70*j,yy,79,40);
            UIButton *button=[[UIButton alloc] initWithFrame:rect];
            [button setFrame:rect];
            [button setContentMode:UIViewContentModeLeft];
            button.titleLabel.font = [UIFont systemFontOfSize:14];
            NSString *settitle=[NSString stringWithFormat:@"%@",item.TimeStart];
            [button setTitle:settitle forState:UIControlStateNormal];
            NSString *tagValue=[NSString stringWithFormat:@"%d%d",indexPath.section+1,i];
            button.tag=[tagValue intValue];
            [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
            [button setShowsTouchWhenHighlighted:YES];     
            [button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside ];
            [hlcell.contentView addSubview:button];
            [button release];
}

-(IBAction)buttonPressed:(id)sender
{
    [sender setBackgroundColor:[UIColor cyanColor]];
    Login *lgn=[[Login alloc] init];
    [self presentModalViewController:lgn animated:NO];
    [lgn release];
}

どうすればできますか?

4

3 に答える 3

0

sleep()を使用することはお勧めしません。これは、すべてのスレッドをスリープさせ、アプリをx秒間本質的に停止させるためです。

上記の手順に従ってボタンを強調表示してから、

[self performSelector:@selector(sample) withObject:self afterDelay:5.0f];


-(void)sample
{
     UIViewController *myNewController = [[UIViewController alloc]init];
    enter code here
    [self presentModalViewController:myNewController animated:YES];
}
于 2012-10-19T11:32:51.690 に答える
0

そのメソッド内に sleep(5); を追加するだけです。

例えば:

これは、ユーザー サンプルの uibutton アクション メソッドです。

-(ボイド)サンプル{

睡眠 (5);

sampleclass *classobject=[[sampleclass alloc]init]; [self.navigationController pushViewController:classobject アニメーション:YES];

}

于 2012-10-19T11:18:45.340 に答える
0

setShowsTouchWhenHighlighted:yesUIButtonに設定する必要があります。

例えば:

UIButton *click_btn=[UIButton buttonWithType:UIButtonTypeCustom];
    click_btn.frame=CGRectMake(238,10, 70, 70);
    [click_btn setTag:indexPath.row];
    [click_btn setShowsTouchWhenHighlighted:YES];
    [click_btn addTarget:self action:@selector(sample) forControlEvents:UIControlEventTouchUpInside];
    [cell.contentView addSubview:click_btn];
于 2012-10-19T10:27:08.220 に答える