ボタンを使用して文字を保存する単語検索ゲームを作成しています。特定の数の列と行を持つテーブルを作成する必要があります。したがって、テーブルが 15 x 20 であると想定される場合、tableWidth と tableHeight の ivar があり、300 個のボタンを作成してビューに配置する必要があります。インターフェイスビルダーを使用できないため、ボタンを作成してビューに配置する方法がわかりません。誰か私への指針はありますか?もっとよく説明する必要があるかどうか教えてください。
5 に答える
の画面を取得し
width
ます。の画面を取得し
height
ます。各ボタンの とそれぞれを検索
w
します。h
width/15
height/20
r=0 から 14 ステップ +1 をループし、ステップ 5 に進みます。
ループ c=0 から 19 ステップ +1 ステップ 6 に進みます。
x=0*幅、y=0*高さ、幅、高さで枠を作る
上記のフレームでボタンを作成し、必要に応じてタイトル、ターゲット/アクションを設定します。
次の c ループ
次の r ループ
UITableView を使用したくない場合は、カスタム ビュー コンテナーとその中にボタンを配置することをお勧めします。
行と列をループし、UIButtons をサブビューとしてメイン ビューに追加します。フレームを介して UIButton の配置を処理し、グリッドに収まるように高さ/幅を調整する必要があります。以下は危険な疑似コードです。
#import "ViewController.h"
@interface ViewController ()
@property (nonatomic) NSMutableArray *buttons;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// 320 x 460 for regular iPhone screen size
// 320 / 8 = 40 px width
// 460 / 10 = 46 px tall
// 8 * 10 = 80 buttons
double width = 40.0;
double height = 46.0;
double xOffset = 0.0;
double yOffset = 0.0;
int rowCount = 0;
int columnCount = 0;
for(int i = 0; i < 80; i++) {
xOffset = columnCount * width;
yOffset = rowCount * height;
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(xOffset, yOffset, width, height);
button.tintColor = [UIColor redColor];
[self.view addSubview:button];
columnCount++;
if (columnCount == 8)
columnCount = 0;
if (i == 9 ||
i == 19 ||
i == 29 ||
i == 39 ||
i == 49 ||
i == 59 ||
i == 69 ||
i == 79)
rowCount++;
}
}
@end
これは大幅に改善される可能性がありますが、指定された寸法でボタンのグリッドが描画されます。
UIButton はビュー (UIView) です。プログラムで作成し、フレーム (ボタンごとに計算する必要があります) を指定し、グリッド ビュー全体にサブビューとして追加します。
UIView とは何か、ある UIView を別の UIView のサブビューにする方法、ビューの配置方法など (フレームとは何か) がわからない場合は、私の本を読んでください。