基于didSelectRowAtIndexPath显示IUView的有效方法?

时间:2012-02-19 23:15:39

标签: ios xcode

我有一个2层的应用程序(目前); bottomlayer有一个tableView,我希望顶层显示基于tableView选择的不同按钮/标签/等。本能隐藏/显示基于didSelectRowAtIndexPath的图层,但这需要根据选择隐藏/显示很多图层。我还想象故事板会变得非常混乱:(

是否有更合理/有效的方法根据tableview选择更改顶层玩家的UIView?

1 个答案:

答案 0 :(得分:0)

在这样的for-in循环中循环遍历它们:

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
        if (indexPath.row == 0) {
            for (UIView *view in self.view.subviews) //change this to your container {
                if (view.tag == 14)
                    continue; 

/*Do Nothing, this is the golden view that stays on screen.  Maybe set it's frame or alpha, but don't hide it.
*/
                else
                [view setFrame:CGRectMake(0, self.view.bounds.size.height, 768, 1024)]; //set this to any value that puts the view offscreen or set alpha to 0

            }
        }
    }

这一切都取决于您设置标签,选择了哪个索引以及要排除哪个视图。

虽然,根据您想要的更改或您需要更改的对象数量,此方法实际上可能更麻烦。