Ios 以编程方式UIScrollView不工作

Ios 以编程方式UIScrollView不工作,ios,objective-c,uiscrollview,uitextfield,Ios,Objective C,Uiscrollview,Uitextfield,我是IOS新手。我尝试将8个UItext字段添加到UIScrollView。 我的代码如下:- City=[[UITextField alloc]init]; City.frame=CGRectMake(45, 150, 221, 30); [self.view addSubview:City]; City.backgroundColor=[UIColor whiteColor]; City.placeholder=@"Email"; [City set

我是IOS新手。我尝试将8个UItext字段添加到UIScrollView。 我的代码如下:-

 City=[[UITextField alloc]init];
    City.frame=CGRectMake(45, 150, 221, 30);
    [self.view addSubview:City];
    City.backgroundColor=[UIColor whiteColor];
    City.placeholder=@"Email";
    [City setFont:[UIFont fontWithName:@"Times New Roman" size:20]];
    //[Username setTextAlignment:UITextBor];
    City.layer.borderColor=[[UIColor yellowColor]CGColor];
    City.layer.borderWidth=2.0;
    [City setBorderStyle:UITextBorderStyleLine];
same as 
city1=[[UITextField alloc]init];
City1.frame=CGRectMake(45, 195, 221, 30);

  |
  |
  |
  |
city8=[[UITextField alloc]init];
city8.frame=CGRectMake(45, 355, 221, 30);
Jest我现在创建的8textfiled都添加到UIScrollview

UIScrollView *scroll = [UIScrollView alloc];
    scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(45, 105, 221, 355)];

    scroll.pagingEnabled = YES;

    scroll.showsHorizontalScrollIndicator = YES;
    scroll.showsVerticalScrollIndicator = YES;
    scroll.scrollsToTop = NO;
    scroll.delegate = self;             //say "NO" to disable scroll
    [self.view addSubview:scroll];
    [scroll addSubview:City];
    [scroll addSubview:City1];
     |
     |
    [scroll addSubview:City8];
[self.view addSubview:scroll];
我只需要带有UIScrollView的UITextField。首先将UITextField装箱,然后创建ScrollView并添加这两个文件,但我的文本文件没有添加Scroll


请告诉我任何想法,并请告诉我我的代码中有什么错误

删除此代码并检查

[self.view addSubview:City];
在scrollview中添加所有文本字段后放置此代码

UIScrollView *scroll = [UIScrollView alloc];
    scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(45, 105, 221, 355)];

    scroll.pagingEnabled = YES;

    scroll.showsHorizontalScrollIndicator = YES;
    scroll.showsVerticalScrollIndicator = YES;
    scroll.scrollsToTop = NO;
    scroll.delegate = self;             //say "NO" to disable scroll
    [self.view addSubview:scroll];
    [scroll addSubview:City];
    [scroll addSubview:City1];
     |
     |
    [scroll addSubview:City8];
[self.view addSubview:scroll];

它可能会帮助您。

删除此代码并检查

[self.view addSubview:City];
在scrollview中添加所有文本字段后放置此代码

UIScrollView *scroll = [UIScrollView alloc];
    scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(45, 105, 221, 355)];

    scroll.pagingEnabled = YES;

    scroll.showsHorizontalScrollIndicator = YES;
    scroll.showsVerticalScrollIndicator = YES;
    scroll.scrollsToTop = NO;
    scroll.delegate = self;             //say "NO" to disable scroll
    [self.view addSubview:scroll];
    [scroll addSubview:City];
    [scroll addSubview:City1];
     |
     |
    [scroll addSubview:City8];
[self.view addSubview:scroll];
它可能会对您有所帮助。

请尝试此代码

 UIScrollView *scroll ;
        scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
    //set your frame according to your viewframe or text field frame.here give width and height of scrolling
    scroll.contentSize=CGSizeMake(self.view.frame.size.width+100,self.view.frame.size.height+100);
        scroll.pagingEnabled = YES;
       self.scrView.showsHorizontalScrollIndicator = YES;
        self.scrView.showsVerticalScrollIndicator=YES;
试试这个代码

 UIScrollView *scroll ;
        scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
    //set your frame according to your viewframe or text field frame.here give width and height of scrolling
    scroll.contentSize=CGSizeMake(self.view.frame.size.width+100,self.view.frame.size.height+100);
        scroll.pagingEnabled = YES;
       self.scrView.showsHorizontalScrollIndicator = YES;
        self.scrView.showsVerticalScrollIndicator=YES;
希望能有帮助


希望对您有所帮助。

如果您想将
UITextField的
添加到
UIScrollView
中,则无需添加
self.view
。 因此,删除将
UITextField的
添加到
self.view
的语句。虽然这不是您所问的问题,但没有必要在视图中添加这些文本字段

所以删除所有-->
[self.view addSubview:City]

就您的问题而言,您做了所有正确的事情,除了一件事,那就是“增加内容大小”您的
UIScrollView
。你可以按如下方式增加

scroll.contentSize = CGSizeMake(Width,height); 
宽度和高度可根据您的要求进行设置


要了解更多信息,请参考如果您想将
UITextField的
添加到
UIScrollView
,而无需将其添加到
self.view
。 因此,删除将
UITextField的
添加到
self.view
的语句。虽然这不是您所问的问题,但没有必要在视图中添加这些文本字段

所以删除所有-->
[self.view addSubview:City]

就您的问题而言,您做了所有正确的事情,除了一件事,那就是“增加内容大小”您的
UIScrollView
。你可以按如下方式增加

scroll.contentSize = CGSizeMake(Width,height); 
宽度和高度可根据您的要求进行设置

详情请参阅

创建所有文本字段(八个文本字段)后,创建滚动视图

//UIScrollView *scroll = [UIScrollView alloc]; //---------------> No Need this line
    UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(45, 105, 221, 355)];

    scroll.pagingEnabled = YES; //---------------->>> Do you need paging ? Other wise set NO

    scroll.showsHorizontalScrollIndicator = YES;
    scroll.showsVerticalScrollIndicator = YES;
    scroll.scrollsToTop = NO;
    scroll.delegate = self;             //say "NO" to disable scroll
    [scroll addSubview:City];
    [scroll addSubview:City1];
     |
     |
    [scroll addSubview:City8];
添加所有文本字段作为滚动视图的子视图后,我们必须将滚动视图放置到父视图中,因此请添加以下代码

[self.view addSubview:scroll];
现在一切正常,但您的滚动视图仍然不可滚动,因为我们没有为此设置滚动内容大小

1)您的文本字段高度为30,两个文本字段之间的间距为15,因此总共为45 您有8个文本字段Toatl=360

2)您的起始文本字段Y轴不是150,因此我们需要添加360+150=510

3)您的滚动视图宽度和文本字段宽度通用=221

scroll.contentSize = CGSizeMake(510,221);
现在构建它,一切顺利,继续编码:)

创建所有文本字段(八个文本字段)后,创建滚动视图

//UIScrollView *scroll = [UIScrollView alloc]; //---------------> No Need this line
    UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(45, 105, 221, 355)];

    scroll.pagingEnabled = YES; //---------------->>> Do you need paging ? Other wise set NO

    scroll.showsHorizontalScrollIndicator = YES;
    scroll.showsVerticalScrollIndicator = YES;
    scroll.scrollsToTop = NO;
    scroll.delegate = self;             //say "NO" to disable scroll
    [scroll addSubview:City];
    [scroll addSubview:City1];
     |
     |
    [scroll addSubview:City8];
添加所有文本字段作为滚动视图的子视图后,我们必须将滚动视图放置到父视图中,因此请添加以下代码

[self.view addSubview:scroll];
现在一切正常,但您的滚动视图仍然不可滚动,因为我们没有为此设置滚动内容大小

1)您的文本字段高度为30,两个文本字段之间的间距为15,因此总共为45 您有8个文本字段Toatl=360

2)您的起始文本字段Y轴不是150,因此我们需要添加360+150=510

3)您的滚动视图宽度和文本字段宽度通用=221

scroll.contentSize = CGSizeMake(510,221);


现在建造它,一切顺利,继续编码:)

不要给变量以大写名称尝试为scroll设置contentSizeview@AndreyChernukha删除了大写名称,但没有luckmake内容大小的卷轴view@karthikeyan请锁定我的代码不要给变量大写名称尝试为scroll设置contentSizeview@AndreyChernukha删除大写名称,但你的卷轴的内容大小没有运气view@karthikeyan请锁定我的代码谢谢您的回复我如您所说尝试过但没有运气请告诉我任何想法如果您设置了scrollview的内容大小。我设置的内容大小如下scroll=[[UIScrollView alloc]initWithFrame:CGRectMake(45,105,221,355)];scrollView.contentSize=CGSizeMake(scrollView.frame.size.width,SizeOffContent);谢谢你的回复,我按照你说的做了尝试,但是没有运气,请告诉我你已经为scrollview设置了内容大小。我像这样设置了scroll的内容大小=[[UIScrollView alloc]initWithFrame:CGRectMake(45,105,221,355)];scrollView.contentSize=CGSizeMake(scrollView.frame.size.width,SizeOffContent);