所以我想要一個簡單的UIScrollView與一堆按鈕一起工作。我是能夠成功地完成與下面的代碼此任務:如何從同一個方法外部將一個按鈕添加到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)];
}
...滾動不工作,我看到按鈕,但沒有滾動了。基本上,我只是想使用界面生成器來添加按鈕到我的應用程序,讓他們也滾動,但似乎無法得到這個工作!
您是否添加了方法「btn1_m」? – NeverBe
是的,我做到了。如果以編程方式或使用Interface Builder完成,它會正確調用方法,但如果通過Interface Builder完成滾動,則會死亡。 – jake9115
可能是UIImageView塊滾動。你確定其他控件沒有重疊滾動嗎? – NeverBe