gpt4 book ai didi

ios - 创建多个 UIButtons 但只有最后一个可见

转载 作者:行者123 更新时间:2023-11-29 13:28:51 29 4
gpt4 key购买 nike

我正在 UIView 中创建多个 UIButton。有两个嵌套循环,以创建具有不同形状的不同按钮组。问题是,只有最后创建的 UIButton 是可见的(并且可以使用 PanGestureRecognizer 移动),即使按钮应该插入不同的位置也是如此。

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.

int i, j;
NSMutableString *backgoundImageName = [[NSMutableString alloc] init];
NSMutableString *barTitle = [[NSMutableString alloc] init];
sticks = [[NSMutableArray alloc] init];

[mainView setBackgroundColor:[UIColor blackColor]];
self.view = mainView;
[mainView setNeedsDisplay];

//create the bars
UIButton *barra = [UIButton buttonWithType:UIButtonTypeRoundedRect];
UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
[barra addTarget:self action:@selector(changeButtonTitle:) forControlEvents:UIControlEventTouchUpInside];
[barra addGestureRecognizer:panGestureRecognizer];
for (j = 1; j <= 10; j++) {
backgoundImageName = [NSMutableString stringWithFormat:@"Regolo%d%@",j,@".png"];
for (i = 1; i <= 3; i++) {
barra.frame = CGRectMake((SQUARE_SIZE * j), (SQUARE_SIZE * 2), SQUARE_SIZE, (SQUARE_SIZE * j));
[barra setBackgroundImage:[UIImage imageNamed:backgoundImageName] forState:UIControlStateNormal];
[barra setTag:j];

barTitle = [NSMutableString stringWithFormat:@"%d",j];
[barra setTitle:barTitle forState:UIControlStateNormal];
[barra setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[sticks addObject:barra];
[self.mainView addSubview:(UIButton *)sticks.lastObject];
}
}
}

最佳答案

移动这段代码:

UIButton *barra = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[barra addTarget:self action:@selector(changeButtonTitle:) forControlEvents:UIControlEventTouchUpInside];
[barra addGestureRecognizer:panGestureRecognizer];

在你的内部 for 循环中。

您有一个对象 (UIButton *barra),您在一个循环中更改其属性,所以我认为最后所有按钮都堆叠在最后一个按钮的框架位置(以及最终背景,标题, 以及标记值), 只有最上面的是可见的。

关于ios - 创建多个 UIButtons 但只有最后一个可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12353378/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com