按钮中的标签在哪里

时间:2013-06-18 11:15:19

标签: ios uilabel

在下面的图片中,我试图在每个按钮之间放置一个单字符标签,但是当第二个图像显示时,当我插入标签时,按钮消失并且(如果仔细观察)最后一个按钮的文本移动在右边。

你能帮我找到想要的结果吗?

没有标签的按钮 buttons without labels

带标签的按钮 buttons with    labels

ViewController.h

@property(nonatomic,assign) UILabel* theSuit;

ViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSString* cards = @"AKQJT98765432";

    NSInteger yPipsOrigin = 100;
    NSInteger xPipsOrigin = 100;
    NSInteger xPipsStep = 40.0;
    NSInteger xPipsCurrent = xPipsOrigin;
    // Do any additional setup after loading the view.
    for( int x=0;x<[cards length]; x++ ){
        [cards substringWithRange:NSMakeRange(x,1)];
        UIButton *b= [UIButton buttonWithType:UIButtonTypeRoundedRect];
        xPipsCurrent += xPipsStep;
        [b setTitle:[cards substringWithRange:NSMakeRange(x,1)] forState:UIControlStateNormal];
        [b setTitle:@" " forState:UIControlStateDisabled];
        [b setFrame:CGRectMake(xPipsCurrent, yPipsOrigin, 20, 20)];
        [b setEnabled:YES];
        [b setUserInteractionEnabled:YES];
        [self.view addSubview:b];
        [b addTarget:self action:@selector(spadeButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

        xPipsCurrent = xPipsOrigin + xPipsStep/2;
        for( int x=0;x<[cards length]-1; x++ ){
            xPipsCurrent += xPipsStep;
            UILabel *lab = self.theSuit;
            lab.text = @"Z";
            lab.backgroundColor = [UIColor clearColor];
            lab.center = CGPointMake(xPipsCurrent, yPipsOrigin);
            [self.view addSubview:lab];
        }
    }

}

1 个答案:

答案 0 :(得分:1)

NSString* cards = @"AKQJT98765432";

NSInteger yPipsOrigin = 100;
NSInteger xPipsOrigin = 100;
NSInteger xPipsStep = 40.0;
NSInteger xPipsCurrent = xPipsOrigin;

for( int x=0;x<[cards length]; x++ )
{
    [cards substringWithRange:NSMakeRange(x,1)];
    UIButton *b= [UIButton buttonWithType:UIButtonTypeRoundedRect];
    xPipsCurrent += xPipsStep;
    [b setTitle:[cards substringWithRange:NSMakeRange(x,1)] forState:UIControlStateNormal];
    [b setTitle:@" " forState:UIControlStateDisabled];
    [b setFrame:CGRectMake(xPipsCurrent, yPipsOrigin, 20, 20)];
    [b setEnabled:YES];
    [b setUserInteractionEnabled:YES];
    [self.view addSubview:b];
    [b addTarget:self action:@selector(spadeButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

    UILabel *lab = [[UILabel alloc] initWithFrame:CGRectMake(xPipsCurrent+b.frame.size.width, yPipsOrigin, 20, 20)];
    lab.text = @"Z";
    lab.textAlignment = NSTextAlignmentCenter;
    lab.backgroundColor = [UIColor clearColor];
    [self.view addSubview:lab];
}