0

我正在使用 ARKit API ...我想在右侧的框中添加自定义 UIButton,该框出现在由应用程序委托中的以下代码生成的屏幕上:

#define BOX_WIDTH 350
#define BOX_HEIGHT 150

- (UIView *)viewForCoordinate:(ARCoordinate *)coordinate {

    CGRect theFrame = CGRectMake(0, 0, BOX_WIDTH, BOX_HEIGHT);
    UIView *tempView = [[UIView alloc] initWithFrame:theFrame];

    //tempView.backgroundColor = [UIColor colorWithWhite:.5 alpha:.3];

    UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, BOX_WIDTH, 20.0)];
    titleLabel.backgroundColor = [UIColor colorWithWhite:.3 alpha:.8];
    titleLabel.textColor = [UIColor whiteColor];
    titleLabel.textAlignment = UITextAlignmentCenter;
    titleLabel.text = coordinate.title;
    [titleLabel sizeToFit];

    titleLabel.frame = CGRectMake(BOX_WIDTH / 2.0 - titleLabel.frame.size.width / 2.0 - 4.0, 0, titleLabel.frame.size.width + 8.0, titleLabel.frame.size.height + 8.0);

    UIImageView *pointView = [[UIImageView alloc] initWithFrame:CGRectZero];
    pointView.image = [UIImage imageNamed:@"location.png"];
    pointView.frame = CGRectMake((int)(BOX_WIDTH / 2.0 - pointView.image.size.width / 2.0), (int)(BOX_HEIGHT / 2.0 - pointView.image.size.height / 2.0), pointView.image.size.width, pointView.image.size.height);

    [tempView addSubview:titleLabel];
    [tempView addSubview:pointView];

    [titleLabel release];
    [pointView release];

    return [tempView autorelease];
}

我怎样才能做到这一点?请帮忙 !

4

1 回答 1

0

这是我的代码:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(190, 430, 110, 30);
[button setTitle:@"Retour au plan" forState:UIControlStateNormal];
[button addTarget:self action:@selector(boutonPlan)
 forControlEvents:UIControlEventTouchUpInside];

// Si il peut, on effectue la MAJ de la vue
ParkingAppDelegate *appDelegate = (ParkingAppDelegate *)[[UIApplication sharedApplication] delegate];
arvc = [[ARViewController alloc] initWithDelegate:self];
//add the button to the view
[arvc.view addSubview:button];

希望这可以帮助。

于 2010-10-28T09:33:05.320 回答