1

私は iOS 開発に不慣れで、UIScrollView. まず、ストーリーボードに Scroll View を作成して追加しました

@property (retain, nonatomic) IBOutlet UIScrollView *mainScroll;

ビューコントローラーハンドラーで

viewDidLoadメソッドには、次のコードがあります。

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.mainScroll.contentSize = CGSizeMake(100.0,100.0); // Have to set a size here related to your content.
    // You should set these.
    self.mainScroll.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

    self.mainScroll.minimumZoomScale = .5;  // You will have to set some values for these
    self.mainScroll.maximumZoomScale = 2.0;
    self.mainScroll.zoomScale = 1;

    UIButton* b = [[UIButton alloc] init];
    [b setBounds:CGRectMake(.0f,0.f,100.0,100.0)];
    [self.mainScroll addSubview:b];
}

しかし、ボタンはシミュレーターに表示されません。ただし、IB のストーリーボードにボタンを追加すると、ボタンが表示され、ビューをスクロールできます。

ボタンをコードに追加するにはどうすればよいですか?

4

5 に答える 5

6

このコードを試してください

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"Show View" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[self.mainScroll addSubview:button];
于 2013-09-19T09:41:04.343 に答える
1

boundsframe同じではありません。

代わりにこのコードを使用してください...

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"Hello" forState:UIControlStateNormal];
button.frame = CGRectMake(0, 0, 100, 44);
[self.mainScroll addSubview:button];
于 2013-09-19T09:41:58.187 に答える
1

次のコードのように、スクロール ビューのコンテンツ サイズを設定する必要があります。

[self.mainScroll setContentSize:CGSizeMake(width, height)];
于 2015-02-13T14:46:48.980 に答える
0

これを試して :

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"Hello" forState:UIControlStateNormal];
button.frame = CGRectMake(self.mainScroll.frame.origin.x + 25 ,self.mainScroll.frame.origin.y +25, 50, 44);
[self.mainScroll addSubview:button];
于 2013-09-19T09:49:21.087 に答える
0

コードからボタンを作成する最も簡単な方法は次のとおりです。

    UIButton* yourButton = [[UIButton alloc]initWithFrame:CGRectMake(x, y, width, height)];
    [yourButton setTitle:@"Your Title" forState:UIControlStateNormal];

// if you set the button's image the title won't be visible, because button's title is "under" the image. I recomend you to use this if you have a cut and dried image.
    [yourButton setImage:[UIImage imageNamed:@"yourImage.png"] forState:UIControlStateNormal];

// if you set the button's background image, button's title will be visible 
    [yourButton setBackgroundImage:[UIImage imageNamed:@"yourBackgroundImage.png"] forState:UIControlStateNormal]; 

// you can add target to the button, for handle the event when you touch it.
    [yourButton addTarget:self action:@selector(handleToucUpInside:) forControlEvents:UIControlEventTouchUpInside]; 

// then add the button
    [self.view addSubview:yourButton];


- (void) handleToucUpInside:(id)sender{

    // here you can do anything you want, to handle the action


}
于 2013-09-19T10:21:52.153 に答える