2

iPad アプリに UIScrollView と UIPageControl があります。それらを .xib ファイルに配置しました。私のアプリは横表示のみをサポートしています。

コードで幅と高さを設定しようとしましたが、正しく見えません。私のページが正しく見えるようにするために、5ページごとに異なる色の背景に設定された非常に単純なケースがありますが、私が何をしても色が重なることはありません。

だから私の質問は:

  1. コードでサイズを正しく設定するにはどうすればよいですか (viewDidLoad?)?
  2. UIScrollView と UIPageControl の両方のサイズを設定する必要がありますか?

前もって感謝します。

4

2 に答える 2

0

xib を使用しているときに、コードを使用して幅と高さを設定するのはなぜですか。また、あなたが直面している問題は、自動サイズ変更のために、この希望を変更してみてください。

于 2012-12-28T00:48:14.133 に答える
0

以下のコードを確認してください。ここでは、コードを使用してすべてを実行しました。それがあなたを助けることを願っています。

int numberOfPages = 5 ;

UIScrollView *scrollQuestionList = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, self.view.frame.size.height - 70.0)];
scrollQuestionList.contentSize = CGSizeMake(numberOfPages*scrollQuestionList.frame.size.width, scrollQuestionList.frame.size.height);
[self.view addSubview:scrollQuestionList];
scrollQuestionList.backgroundColor = [UIColor clearColor];
scrollQuestionList.delegate = self;
scrollQuestionList.showsHorizontalScrollIndicator = NO;
scrollQuestionList.pagingEnabled = YES;

CGFloat x = 0.0;

tagForBtns = 0;

for (int i = 1; i <= numberOfPages; i++) 
{
    UIView *contentView = [[[UIView alloc] initWithFrame:CGRectMake(x, 0.0, scrollQuestionList.frame.size.width, scrollQuestionList.frame.size.height)] autorelease];

    if (i%2 == 0)
    {
        [contentView setBackgroundColor:[UIColor grayColor]];
    }
    else
    {
        [contentView setBackgroundColor:[UIColor cyanColor]];
    }

    [scrollQuestionList addSubview:contentView];
    x+= scrollQuestionList.frame.size.width;
}
UIPageControl *pageCntrl = [[UIPageControl alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height - 70.0, self.view.frame.size.width, 25.0)];
pageCntrl.numberOfPages = numberOfPages;
pageCntrl.backgroundColor = [UIColor clearColor];
[pageCntrl addTarget:self action:@selector(clickedPageControl:) forControlEvents:UIControlEventValueChanged];
pageCntrl.currentPage = 0;    
[self.view addSubview:pageCntrl];
于 2012-12-28T05:37:43.213 に答える