我想知道如何设置网格中 UI 按钮之间的间距大小。目前我知道如何更改按钮的大小,但这会改变网格的整体大小而不仅仅是按钮。包括目前应用程序的一些屏幕截图(忽略 UI 按钮边框)。代码如下:
- (void)setupBoard:(GameBoard *)board;
{
NSUInteger rows = [[currentGame mainBoard] rows];
NSUInteger cols = [[currentGame mainBoard] columns];
CGSize cellSize = { gridView.frame.size.width/ cols, gridView.frame.size.height/ rows };
CGPoint insertPoint = CGPointZero;
for (int x = 0; x <= rows; x++) {
for (int y = 0; y <= cols; y++) {
UIButton *newButton = [UIButton buttonWithType:UIButtonTypeCustom];
CGRect newButtonFrame = { insertPoint, cellSize };
[newButton associateValue:[NSNumber numberWithInt:x] withKey:@"xrow"];
[newButton associateValue:[NSNumber numberWithInt:y] withKey:@"ycol"];
[newButton setFrame:newButtonFrame];
[newButton setSelected:NO];
[newButton setBackgroundColor:[UIColor colorWithRed:(164.0/255.0) green:(240.0/255.0) blue:(254.0/255.0) alpha:1.0]];
[[newButton layer] setCornerRadius:5.0f];
[[newButton layer] setBorderColor:[[UIColor colorWithRed:(0.0/255.0) green:(0.0/255.0) blue:(0.0/255.0) alpha:0.5] CGColor]];
[[newButton layer] setBorderWidth:5.0f];
[newButton addTarget:self action:@selector(toggleCellState:) forControlEvents:UIControlEventTouchUpInside];
[gridView addSubview:newButton];
[newButton setAlpha:0.10];
insertPoint.x += cellSize.width;
}
insertPoint.x = 0;
insertPoint.y += cellSize.height;
}
}
如果您想查看更多代码,请不要犹豫。