0

在我的项目中,我使用操作表按钮创建了文本字段。第一次创建后如何禁用用户界面。

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex                                                                                                                                                                            
{
        if (buttonIndex==0)
            {  
                text1 = [[UITextField alloc] initWithFrame:CGRectMake(x2,y2+3, 300, 25)];
                text1.backgroundColor = [UIColor whiteColor];
                text1.clearButtonMode = UITextFieldViewModeWhileEditing;
                text1.font = [UIFont systemFontOfSize:15.0f];
                text1.placeholder=@"ENTER HOME LOAN INTEREST";
                [text1 setKeyboardType:UIKeyboardTypeNumberPad];
                text1.textAlignment=NSTextAlignmentCenter;
                text1.userInteractionEnabled=YES;
                [scrollview addSubview:text1];
                scrollview.contentSize=CGSizeMake(self.view.frame.size.width,self.view.frame.size.height+to);
                to+=to;
                y2+=30;
                img6.frame=CGRectMake(0, y2+4, 320, 60);
                y2=y2+62;
                img7.frame=CGRectMake(0, y2+5, 320, 60);
                 y2=y2-62;
            }
           else if (buttonIndex==1)
            {
                text2 = [[UITextField alloc] initWithFrame:CGRectMake(x2, y2+3, 300, 25)];
                text2.backgroundColor = [UIColor whiteColor];
                text2.clearButtonMode = UITextFieldViewModeWhileEditing;
                text2.font = [UIFont systemFontOfSize:15.0f];
                text2.placeholder=@"ENTER EDUCATION EXPENSE";
                [text2 setKeyboardType:UIKeyboardTypeNumberPad];
                text2.userInteractionEnabled=YES;
                text2.textAlignment=NSTextAlignmentCenter;
                [scrollview addSubview:text2];
                               scrollview.contentSize=CGSizeMake(self.view.frame.size.width,self.view.frame.size.height+to);

                 to+=to;

                y2+=30;

                img6.frame=CGRectMake(0, y2+4, 320, 60);
                y2=y2+60;
                img7.frame=CGRectMake(0, y2+5, 320, 60);
                 y2=y2-60;
            }

}

如何防止用户多次创建相同的文本字段

4

1 回答 1

0

在我看来,这两个文本字段似乎是相同的,但占位符除外,并且大概是您稍后对值所做的事情。您可以轻松地使用可作为类中的属性访问的单个文本字段。如果您正在使用情节提要,则可以将文本字段放在情节提要中,并可能将其设置为“隐藏”。

一旦你有一个公共文本字段,你可以简单地设置占位符文本并使该字段在操作表委托方法中可见。如果布局中还有其他差异,那么此时也可以处理这些差异。

这种方法需要一种方法来保持“状态”,以便您稍后了解该字段的上下文。您可以通过检查占位符文本来管理它,但这会很脆弱,因为文本可能会随心所欲地改变。更好的方法是text2.tag = 1为家庭负荷兴趣和text2.tag = 2教育费用设置标签值。您可以稍后访问标记值来解释上下文。

因为只有一个字段,并且可以通过属性访问,所以您可以稍后从超级视图中删除该文本字段,或者再次隐藏它并使用另一个标志来知道它已显示给用户。您很可能可以检查房屋贷款利息或教育费用是否具有价值,在这种情况下,请不要再次显示。

您也可以在操作表委托回调方法中隐藏/删除/禁用调用操作表的按钮,同样您需要一个属性才能访问它。

于 2013-07-11T19:46:54.170 回答