如何在文本字段下方删除时更改文本字段的位置?

Posted

技术标签:

【中文标题】如何在文本字段下方删除时更改文本字段的位置?【英文标题】:How to change position of UITextField while delete below textfiled? 【发布时间】:2014-04-09 09:00:26 【问题描述】:

我是 iPhone 开发的新手。现在我想用水平滚动显示 40 个文本字段..

我已经使用下面的代码创建了这个UITextField

// Create the scrollView:
UIScrollView *scrViewRankTracker = [[UIScrollView alloc] initWithFrame: CGRectMake(0, 0, 320, 200)];
[scrViewRankTracker setContentSize: CGSizeMake(1200, 200)];
[self.view addSubview:scrViewRankTracker];
scrViewRankTracker.delegate = self;
CGRect frame = CGRectMake(10, 10, 80, 150);
[scrViewRankTracker scrollRectToVisible: frame animated:YES];

float x = 10;
float y = 10;
float width = 100;
float height = 30;

// Create the textfield using for loop:

for(int textFieldIndex =0;textFieldIndex<40;textFieldIndex++)

    tfRankTracker = [[UITextField alloc]initWithFrame:CGRectMake(x, y, width, height)];
    tfRankTracker.returnKeyType = UIReturnKeyDone;
    [tfRankTracker setTag:textFieldIndex+1];
    [tfRankTracker setBorderStyle:UITextBorderStyleRoundedRect];
    [tfRankTracker setDelegate:self];

    [scrViewRankTracker addSubview:tfRankTracker];

    x = x + width + 20;

    if((textFieldIndex+1)%10==0)
    
        x = 10;
        y = y + height + 20;
    

这段代码的输出将显示在下面 例如。

1     2   3   4   5    6   7   8   9   10

11  12  13  14  15  16  17 18  19  20

21  22  23  24  25  26  27  28  29  30

31  32  33  34  35  36  37  38  39  40

现在,假设如果我删除 4 号的文本字段,那么 14 号将取代 4 号……24 号将取代 14 号,34 号将取代 24 号...

谁能帮帮我!!!!!! 谢谢

【问题讨论】:

不要那样做......使用集合视图并将每个文本文件添加到集合视图中 有没有演示代码? 请从 cocoacontrols.com 找到集合视图并使用它。 【参考方案1】:

为所有UITextField 设置标签,类似于您拥有的序列.. 然后..

-(void)onDelete:(UITextField *)textField
    int curTag=textField.tag;

    int tagToReplace=curTag+10;

    UITextField *textFieldToReplace=[self.view viewWithTag:tagToReplace];

    [UIView animateWithDuration:.3 animations:^
       textFieldToReplace.frame=textField.frame;
    ];


上面的代码应该做你需要的,可能需要一些调整。

希望这会有所帮助。

【讨论】:

代替 self.view 你必须写 [scrViewRankTracker.view viewWithTag:tagToReplace] ? 首先我想识别选定的文本字段,然后单击删除按钮...应该删除选定的文本字段。 @Sweeta 你可以有一个变量 selectedTextField,并使用它。如果你理解我的代码肯定会工作。 @Rushabh 我的代码很简单,并且知道它应该如何工作,我已经提到它可能需要一些调整。【参考方案2】:

您应该使用collectionViewController 来解决您的问题。这个tutorial会一步步指导你。

【讨论】:

以上是关于如何在文本字段下方删除时更改文本字段的位置?的主要内容,如果未能解决你的问题,请参考以下文章

模式更改时如何在视图中心自动设置文本字段和按钮?

如何在删除时准确更新文本字段的属性?

只要按下键盘上的x按钮,如何从一个文本字段中删除值

如何在下拉列表更改时更新两个文本字段

如何阻止用户更改文本字段

编辑时如何更改 UITextField