1

我需要一些帮助来创建动态行UITextfields,我一直在尝试自己做,但取得了一些成功,但大多是失败的。

我设置了 1 - 13 之间的行数,我想创建UITextfields一个适合 iPhone 框架宽度的宽度,左右均匀间隔。

这是我到目前为止所做的:

- (void) displayViews {
    // add scrollview
    htmlContainerScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 60.0, self.view.frame.size.width, 293.0)];
    NSInteger viewcount = [axisString integerValue];
    color = 200;

    for(int i = 0; i< viewcount; i++) {
        color = color + 20;
        NSLog(@"%f", color);
        CGFloat y = i * 91;
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, y,self.view.frame.size.width, 90.0)];
        view.backgroundColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:(1.0/i)];;
        [htmlContainerScrollView addSubview:view];

        int cutCount = [cutsString integerValue];
        int positions = (self.view.frame.size.width/cutCount);

        for (int i = 0; i < cutCount; i++) {
            //first one
            UITextField *cutField = [[UITextField alloc] initWithFrame:CGRectMake((positions*i)+(20/2), 25, 20, 20)];
            cutField.textColor = [UIColor colorWithRed:0/256.0 green:84/256.0 blue:129/256.0 alpha:1.0];
            cutField.font = [UIFont fontWithName:@"Helvetica-Bold" size:25];
            cutField.backgroundColor=[UIColor whiteColor];
            [view addSubview:cutField];
        }       
    }
    htmlContainerScrollView.contentSize = CGSizeMake(self.view.frame.size.width, 91 *viewcount);
    [self.view addSubview:htmlContainerScrollView];
}

我最大的问题是它们的间距不均匀。他们总是在左边。

4

1 回答 1

1

更改您cutField的框架x坐标值计算

  • (positions*i)+(20/2)
  • ((positions*i)-(20/2)+(positions/2)).

这应该够了吧。


这只是 x 坐标计算的问题,我相信还有优化的空间。

于 2013-11-11T06:16:15.273 回答