首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏按钮不可见时出现问题

隐藏按钮不可见时出现问题
EN

Stack Overflow用户
提问于 2012-02-22 21:55:47
回答 2查看 116关注 0票数 0

下面是我在viewDidLoad中隐藏一些按钮的代码。这里的按钮是隐藏的

代码语言:javascript
复制
- (void)viewDidLoad
{
 for (int i = 100; i<117; i++) 
    {
        UIButton *smileyButton = (UIButton *)[scroll viewWithTag:i];
        UITextField *smileyFields = (UITextField *)[scroll viewWithTag:i];
        UIImageView *smileyImage = (UIImageView *)[scroll viewWithTag:i];
        smileyFields.hidden = YES;
        smileyButton.hidden = YES;
    }  
}

现在,在接下来的动作中,我使按钮可见。但按钮不可见

代码语言:javascript
复制
-(IBAction)editButton:(id)sender
{
 for (int i = 100; i<117; i++) 
    {
        UIButton *smileyButton = (UIButton *)[scroll viewWithTag:i];
        UITextField *smileyFields = (UITextField *)[scroll viewWithTag:i];
        UIImageView *smileyImage = (UIImageView *)[scroll viewWithTag:i];
        [smileyFields setHidden:NO];   //TextFields Not Visible 
        [smileyButton setHidden:NO];  //Buttons Not Visbile
   }

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-22 22:03:12

如果你有几个带有相同标签的视图,函数viewWithTag将只返回一个视图,所以如果你调用它3次,你总是得到相同的视图。

要做你想做的事情,你可以迭代所有的子视图并检查标签:

代码语言:javascript
复制
for (UIView *aView in scrollView.subviews) {
    if (aView.tag >= 100 && aView.tag < 117) {
        aView.hidden = NO;
    }
}
票数 1
EN

Stack Overflow用户

发布于 2012-02-22 22:32:52

您是否在Interface Builder中构建视图控制器?如果是这样的话,将每个你想要隐藏的东西的标签设置为一个不同的数字:尝试一些简单的东西,比如1,2,3,等等。如果你是在代码中构建的,那么设置tag属性。记住你的最大标签数(假设它是4)。

然后将以下内容添加到您的.h中:

代码语言:javascript
复制
- (void)setTaggedViewsHidden:(BOOL)hidden;

并将以下内容添加到您的.m:

代码语言:javascript
复制
- (void)setTaggedViewsHidden:(BOOL)hidden {
  for (NSInteger tag = 1; tag <= 4; tag++) {
    [scroll viewWithTag:tag].hidden = hidden;
  }
}

在你的viewDidLoad中,这样调用它:

代码语言:javascript
复制
[self setTaggedViewsHidden:YES];

并在您的editButton:选择器中将其调用为:

代码语言:javascript
复制
[self setTaggedViewsHidden:NO];

请记住调整setTaggedViewsHidden中的代码以匹配您正在使用的标记。最好的方法是为min和max标记#define一个常量,并在for循环中使用这些常量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9396194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档