gpt4 book ai didi

iphone - 构建 10x10 UIButton 网格的最佳方法?

转载 作者:太空狗 更新时间:2023-10-30 03:39:30 26 4
gpt4 key购买 nike

我将拥有一个 10x10 的 UIButton 对象网格。这些 UIButton 中的每一个都需要通过行号和列号来引用,因此它们可能应该存储在某种类型的数组中。

我的问题:创建此网格的最简单方法是什么?以编程方式还是通过 Interface Builder?如果以编程方式,访问这些按钮的最简单方法是什么,以便在触摸它们时,我能够知道触摸按钮的行号和列号?

最佳答案

我个人不喜欢 IB,所以我建议以编程方式进行!

使用 NSArray 来存储您的 UIButton。每个按钮的索引是 row*COLUMNS+column

将标签属性设置为 BASE+index(BASE 是大于 0 的任意值)以便您可以找到按钮的位置:index=tag-BASE;行=索引/列; column=index%COLUMNS;

- (void)loadView {
[super loadView];

for (NSInteger row = 0; row < ROWS; row++) {
for (NSInteger col = 0; col < COLS; col++) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[buttonArray addObject:button];
button.tag = BASE + row * COLS + col;
button.frame = ...;
[button addTarget:self action:@selector(didPushButton:) forControlEvents:UIControlEventTouchDown];
[self.view addSubview:button];
}
}
}

- (void)didPushButton:(id)sender {
UIButton *button = (UIButton *)sender;
NSInteger index = button.tag - BASE;
NSInteger row = index / COLS;
NSInteger col = index % COLS;
// ...
}

关于iphone - 构建 10x10 UIButton 网格的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1215419/

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