だから私はボタンの束で動作する単純な UIScrollView を取得しようとしています。次のコードを使用して、このタスクを正常に完了することができました。
- (void)viewDidLoad
{
[super viewDidLoad];
[_scroller setScrollEnabled:YES];
[_scroller setContentSize:CGSizeMake(320, 1487)];
UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, -500, 320, 2800)];
[imgView setBackgroundColor:[UIColor blackColor]];
[_scroller addSubview:imgView];
UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn1 setTitle:@"Cool title" forState:UIControlStateNormal];
[btn1 setFrame:CGRectMake(7, 7, 150, 160)];
[btn1 setImage:[UIImage imageNamed:@"small.png"] forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(btn1_m) forControlEvents:UIControlEventTouchUpInside];
[_scroller addSubview:btn1];
ただし、ボタンをプログラムで追加するのではなく、インターフェイス ビルダーを介してボタンを追加するとどうなるでしょうか。これを行うたびに、スクローラーはもはやスクロールしません!
たとえば、ボタンをコントロールドラッグした後に次のコードを使用するとします。
- (IBAction)theButton:(UIButton *)sender {
[_scroller addSubview:sender];
}
- (void)viewDidLoad
{
[super viewDidLoad];
[_scroller setScrollEnabled:YES];
[_scroller setContentSize:CGSizeMake(320, 1487)];
}
...スクロールが機能しません。ボタンは表示されますが、何もスクロールしません。基本的に、インターフェイス ビルダーを使用してアプリにボタンを追加し、それらもスクロールさせたいだけですが、これを機能させることはできません!