グリッド内の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;
}
}
コードをもっと見たい場合は、遠慮なく。