0

私は友人の助けを借りてセットアップしました、スクロールビュー、最大100個のボタン(実際には写真のサムネイルスライダーの単なる画像またはサムネイル)のために4ページに25個のボタンを追加するループ。

横に5つ、下に5つあります。ただし、横向きにプログラムされており、ボタン/サムネイルのサイズを自動的に小さくしたり、縦向きに縮小したりするためにこれを修正するための適切なコードがわかりません。

ボタンを上下に変更できないので(横に4つ、下に6つなど)、ボタンのサイズを変更して縮小するだけだと思いますが、どのように行われるのかわかりません。

ViewController.hでUIScrollView*scrollViewとintsを宣言しました

    int buttonNumber;
    int maxButtonNumber;
    int Pages;
    IBOutlet UIScrollView *scrollView;
    NSString *detailImageString;

    IBOutlet UINavigationBar *topBar;
    IBOutlet UIPageControl *pageControl;
}

@property (nonatomic,retain) NSMutableArray *buttons;
@property (nonatomic,retain) UIButton*thumbIcon;
@property (nonatomic,retain) UIImage *thumbIconImage;
@property (nonatomic, retain) UIScrollView *scrollView;
@property (strong, nonatomic) IBOutlet UINavigationBar *topBar;
@property (strong, nonatomic) IBOutlet UIPageControl *pageControl;
@property (strong, nonatomic) DetailViewController *detailViewController;

これがViewController.mです

    scrollView.bounces=NO;
    scrollView.showsHorizontalScrollIndicator=NO;
    scrollView.showsVerticalScrollIndicator=NO;

    buttons=[[NSMutableArray alloc]init];

    static const CGFloat ButtonWidth = 145;
    static const CGFloat ButtonHeight = 85;

   scrollView.frame = CGRectMake(0, 0, 1024, 768);

    buttonNumber = 0;
    maxButtonNumber=100;

            Pages=4; 


    for (int i = 0; i < Pages; i++) {
        UIView *pageView = [[UIView alloc] initWithFrame:self.view.bounds];
        pageView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;


        int x = 0;
        for (int j = 0; j < 25; j++) {
            if (buttonNumber > maxButtonNumber) {
                break;
            }
            buttonNumber++;
            //Create 5 Rows
            int row = j / 5;
            if (j % 5 == 0) {
                x = 0;
            }
            thumbIcon = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            thumbIcon.tag = buttonNumber;
            [thumbIcon setFrame:CGRectMake(x * (ButtonWidth + 30) + 90, row * (ButtonHeight + 20) + 75, ButtonWidth, ButtonHeight)];

            thumbIconImage = [UIImage imageNamed:[NSString stringWithFormat:@"Image%d.jpg", buttonNumber]]; 

            [thumbIcon setImage:thumbIconImage forState:UIControlStateNormal];

            [pageView addSubview:thumbIcon];
            [thumbIcon setEnabled:YES];
            [buttons addObject:thumbIcon];
            x++;
        }

       [pageView setFrame:CGRectMake(i * 1024, 0, 1024, 704)];

       [scrollView addSubview:pageView];

         [pageView release];

    }
    [scrollView setPagingEnabled:YES];
    [scrollView setContentSize:CGSizeMake(1024 * Pages, 704)];  

どんな助けでもいただければ幸いです。ありがとう!!

4

1 に答える 1

0

@property(nonatomic) UIViewAutoresizing autoresizingMaskを使用して、任意の UIView (UIButtons を含む) を自動サイズ変更できますUIView。たとえば、回転中に UIButton の幅を変更したい場合は、ボタンを初期化した直後に次のようにすることができます。

button.autoresizingMask = UIViewAutoresizingFlexibleWidth;

autoresizingMask のドキュメントをチェックして、希望どおりに動作するかどうかを確認してください。 doc/uid/TP40006816-CH3-SW6

于 2012-07-19T03:20:34.633 に答える