Iphone 目标c子视图顺序

Iphone 目标c子视图顺序,iphone,objective-c,Iphone,Objective C,我是一名初级程序员 我面临程序中某些子视图未显示的问题, 不知道是addsubview顺序问题还是其他问题。 希望有人能提供建议或解决方案。谢谢大家 for (int i = 0; i < NUM_DISHES; i++) { UIImageView* img_steps = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg

我是一名初级程序员 我面临程序中某些子视图未显示的问题, 不知道是addsubview顺序问题还是其他问题。 希望有人能提供建议或解决方案。谢谢大家

for (int i = 0; i < NUM_DISHES; i++) {            

     UIImageView* img_steps = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg", i]]];
        //IMPORTANT: The i*W_IPAD means that 1st 0*1024 , 1*1024 , 2*1024.............and so on
        [img_steps setFrame:CGRectMake(W_IPAD, 0, W_IPAD , H_UPFR)];


        UIImageView* imageset = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[ary_img objectAtIndex:i]]];
        [imageset setFrame:CGRectMake(89, 9, H_INGREPHOTO, W_INGREPHOTO)];
        [ary_image addObject:imageset];


        //ingredient amount section
        UILabel* lbl_amt = [[UILabel alloc] initWithFrame:CGRectMake(128, 177, 190, 33)];
        [lbl_amt setText:[ary_amount objectAtIndex:i]];
        [lbl_amt setFont:[UIFont systemFontOfSize:25]];
        [lbl_amt setTextColor:[UIColor blackColor]];
        [lbl_amt setBackgroundColor:[UIColor clearColor]];
        [ary_amt addObject:lbl_amt];


    //method section
        UILabel* lbl_method = [[UILabel alloc] initWithFrame:CGRectMake(596, 93, 130, 32)];
        [lbl_method setText:[ary_meth objectAtIndex:i]];
        [lbl_method setBackgroundColor:[UIColor clearColor]];
        [lbl_method setFont:[UIFont systemFontOfSize:30]];
        [lbl_method setTextColor:[UIColor blackColor]];
        [ary_method addObject:lbl_method];


    //alpha bar step number step number section
        UILabel* lbl_numberstep = [[UILabel alloc] initWithFrame:CGRectMake(90 + (130 * i), 5, W_NUMBERSTEP, H_NUMBERSTEP)];
        [lbl_numberstep setText:[NSString stringWithFormat:@"%d",i + 1]];
        [lbl_numberstep setFont:[UIFont systemFontOfSize:20]];
        [lbl_numberstep setBackgroundColor:[UIColor clearColor]];
        [lbl_numberstep setTextColor:[UIColor blackColor]];



        [self.view addSubview:img_steps];
        [alpha_bar addSubview:lbl_numberstep];   
        [alphaframe addSubview:[ary_method objectAtIndex:i]];
        [alphaframe addSubview:[ary_amt objectAtIndex:i]];
        [alphaframe addSubview:[ary_image objectAtIndex:i]];
    }

    // Section --- Add Subview

    [self.view addSubview:background];

    [background addSubview:main_view];


    [main_view addSubview:alpha_bar];
    [main_view addSubview:alphaframe];

    [main_view addSubview:but_transit_to_a];   //can add to the main_view       
    [main_view addSubview:left_buttom];
    [main_view addSubview:right_buttom];

    [alpha_bar addSubview:bar];
    [alpha_bar addSubview:lbl_lastnum];
    [alphaframe addSubview:but_transit_to_c];

    }


    return self;
}
for(inti=0;i
要将子视图置于前面,可以使用
[yourMainView将子视图置于前面:yoursubview]
。如果此时未显示子视图,请检查是否已正确设置子视图的
,以及
隐藏=否

视图。子视图数组保存索引0中最底部的视图,并按与其“z索引”相关的顺序保存视图。所以
[myView.subviews lastObject]
将始终在所有其他视图和
[myView.subviews objectAtIndex:0]前面给出视图将具有该数组中所有视图下方的视图

从:

可以使用此属性检索与关联的子视图 自定义视图层次结构。阵列中子视图的顺序 反映其在屏幕上的可见顺序,视图的索引为0 是最后面的视图。对于在UIKit和其他文件中声明的复杂视图 在系统框架中,通常会考虑视图的任何子视图 私密,随时可能更改。因此,你不应该 尝试检索或修改这些类型的子视图 系统提供的视图。如果您这样做,您的代码可能会在将来的某个时间中断 系统更新


向我们展示你的代码,你是如何计算子视图的框架的。如果你展示你的代码,我们可以很容易地帮助我们AddSubViews的数组有什么问题?您的.h文件中是否有代码?我对您的问题投了赞成票,因为其中一个答案对我很有帮助。我发现,当人们因为无法理解问题的内容而对投票问题投反对票时,这很烦人。显然有人能帮助你。所以不需要向下投票。对不起,蒂姆,我可以问一下,是在我[mainview addsubview:newview]之后,然后我输入你写的代码吗?是的,在你添加子视图之后,很抱歉,哈哈,我真的不明白,真的很抱歉,你可以简单地告诉我解决方案吗?也许我可以很容易地理解这个意思。addSubview的数组有什么问题