2012-11-20 20 views
7

Ich habe eine scrollView, die eine UIView als Subview hat. Dies hat als UIView Unteransicht eine UIButton. Nur die scrollView ist mit der Steckdose verbunden, der Rest ist alles in Code. Die Taste reagiert nicht auf Berührungen und wird nicht blau, wenn sie berührt wird. Was kann ich tun, damit es funktioniert?UIButton funktioniert nicht in uiscrollView

Dies ist der Code:

- (void)viewDidLoad 
{ 
     [super viewDidLoad]; 

     //...... 

     self.buttonHome = [UIButton buttonWithType:UIButtonTypeCustom]; 
     [self.buttonHome addTarget:self action:@selector(pressedHome:) 
            forControlEvents:UIControlEventTouchUpInside]; 
     //.... 
     self.containerView =[[UIView alloc]initWithFrame:self.scrollView.frame]; 
     self.containerView.userInteractionEnabled=YES; 

     [self.scrollView addSubview:self.containerView]; 
     [self.containerView addSubview:self.buttonHome]; 
    } 

    -(void) pressedHome:(id)sender{ 
     //.... 
    } 
+0

Ich simuliere die Arbeit, die Sie erwähnt haben, aber es funktioniert richtig für mich –

+0

Für mich funktioniert nicht. Ohne die UIView funktionierte alles perfekt, aber diese UIView ist zum Zoomen notwendig –

Antwort

1

ich es lösen

- (BOOL)touchesShouldCancelInContentView:(UIView *)view 
    { 
     return ![view isKindOfClass:[UIButton class]]; 
    } 

Da das Problem ist eine Taste UIButton

0

Achten Sie darauf, Ihre Scroll die Berührungen nicht schluckt: prüfen diese andere question SO

4

setzen Sie müssen die Inhaltsgröße Ihrer Ansicht festlegen. Das muss größer oder gleich der Inhaltsgröße von scrollView sein.

Da Standardgröße Ihrer Ansicht ist 320 * 480 (3,5 "Retina) und 320 * 568 (4" Retina). So zunehmende Höhe der Ansicht als

self.view.frame = CGRectMake (0, 0, 320, 700);

Dann fügen Sie dies als Unteransicht Ihres scrollView hinzu.

wird Sie zur Lösung bringen.

-1

Machen Sie containerView-Ansichtshöhe wie scrollView Height.

Verwandte Themen