我正在尝试将我的iPhone应用程序移植到Ipad,该逻辑不适用于splitviewcontroller

viewDidLoad中,我调用一个用setSearchResult更新视图的函数(覆盖设置器)

问题是每次我在masterviewcontroller中选择一行时,都会将detailviewcontroller的内容添加到其中而不是删除旧内容。

我认为这给了我一个问题:

        CGRect framephoto = CGRectMake(0, 85, 320, 186);
        carousel = [[iCarousel alloc] initWithFrame:framephoto];
        [self.scrollview addSubview:carousel];


和此表(自定义毫克)

    // the tables grid
    CGSize tablesGridSize = IPAD_TABLES_GRID;
    tablesGrid = [MGBox boxWithSize:tablesGridSize];
    tablesGrid.contentLayoutMode = MGLayoutGridStyle;
    [self.scrollview.boxes addObject:tablesGrid];


我认为是因为每次我选择一行并到达这些代码时,都会添加另一个代码。

我不是专业人士,所以这个问题可能很愚蠢,但是欢迎大家提出建议。
最好的方法是什么?

最佳答案

不幸的是,处理此问题的最佳方法是使用应在应用程序中使用的UINavigationController。一个简单的解决方案是在添加新子视图之前删除所有子视图(为此,您必须保护对iCarouseltablesGrid的引用)。更好的方法是仅更新已经分配的视图的数据。

10-07 18:33