Ios 使用我的方法将UIView转换为UIScrollView后,新的UIScrollView仅在瞬间出现。我做错了什么?

Ios 使用我的方法将UIView转换为UIScrollView后,新的UIScrollView仅在瞬间出现。我做错了什么?,ios,objective-c,iphone,uiview,uiscrollview,Ios,Objective C,Iphone,Uiview,Uiscrollview,我正在尝试编写一个方法,该方法将UIView作为参数,并输出UIScrollView。当我运行代码时,视图会在一瞬间变成UIScrollView,然后消失。我觉得这个问题与行有关:self=[superinit];代码如下: //.h file #import <UIKit/UIKit.h> @interface ControlSectorScrollView : UIScrollView <UIScrollViewDelegate> { } - (id)init

我正在尝试编写一个方法,该方法将UIView作为参数,并输出UIScrollView。当我运行代码时,视图会在一瞬间变成UIScrollView,然后消失。我觉得这个问题与行有关:self=[superinit];代码如下:

//.h file

#import <UIKit/UIKit.h>

@interface ControlSectorScrollView : UIScrollView <UIScrollViewDelegate> {

}

- (id)initWithView:(UIView *)view;

@end

//.m file

@implementation ControlSectorScrollView

- (id)initWithView:(UIView *)view {

    self = [UIScrollView alloc] initWithFrame:view.frame];

    if (self) {
        CGRect contentViewRect = view.frame;
        self.contentSize = CGSizeMake(contentViewRect.size.width * 2, contentViewRect.size.height);
        self.pagingEnabled = YES;
        self.clipsToBounds = YES;
        self.showsHorizontalScrollIndicator = NO;
        [self addSubview:view];

        CGRect followingSectionFrame = contentViewRect;
        followingSectionFrame.origin.x += contentViewRect.size.width;
        UIView *followingSectionView = [[UIView alloc] initWithFrame:followingSectionFrame];
        [self addSubview:followingSectionView];
    }

    return self;
}
/.h文件
#进口
@接口控制SectorScrollView:UIScrollView{
}
-(id)initWithView:(UIView*)视图;
@结束
//.m文件
@实现控制SectorScrollView
-(id)initWithView:(UIView*)视图{
self=[UIScrollView alloc]initWithFrame:view.frame];
如果(自我){
CGRect contentViewRect=view.frame;
self.contentSize=CGSizeMake(contentViewRect.size.width*2,contentViewRect.size.height);
self.paginEnabled=是;
self.clipstobunds=是;
self.showshorizontalscrolindicator=否;
[自添加子视图:视图];
CGRect followSectionFrame=contentViewRect;
followingSectionFrame.origin.x+=contentViewRect.size.width;
UIView*FollowSectionView=[[UIView alloc]initWithFrame:FollowSectionFrame];
[自添加子视图:以下截面视图];
}
回归自我;
}
有人知道我做错了什么吗?多谢各位


编辑:请阅读我的评论以了解更多内容。

我不完全清楚您在这里想要什么-在字里行间阅读我猜您有一个
UIView
,太大了,无法放在屏幕上,您需要一个方便的方法将其插入
UIScrollView
-正确吗?顺便说一句-构造函数中的所有子视图将在方法结束时消失,因为它们位于局部变量中,并且没有一个作为子视图添加到主视图中,即
self
。而且,在我看来,将ScrollView放在ScrollView中几乎总是一个非常糟糕的主意experience@RichTolley你好,谢谢你的回复。很抱歉我不清楚。我编辑了代码,希望能让它更清晰。我正在制作一个将UIView转换为UIScrollView的方法。您能否澄清子视图消失/如何解决此问题?另外,我不是将scrollview放在scrollview中,而是在UIView上运行此方法,删除UIView并用新生成的UIScrollView替换它,而是保留UIView中的内容。