2012-11-20 19 views
7

में काम नहीं करता है मेरे पास scrollView है जिसमें UIView सबव्यूव के रूप में है। इसमें UIViewUIButton सबव्यूव है। केवल scrollView आउटलेट से जुड़ा हुआ है, बाकी सब कोड में हैं। बटन छूने का जवाब नहीं देता है, स्पर्श किए जाने पर नीला नहीं होता है। इसे काम करने के लिए मैं क्या कर सकता हूं?UIButton uiscrollView

- (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

मैं आपके द्वारा उल्लिखित काम का अनुकरण करता हूं लेकिन यह मेरे लिए सही ढंग से काम कर रहा है –

+0

मेरे लिए काम नहीं करता है। UIView के बिना पूरी तरह से काम किया, लेकिन यह UIView ज़ूम के लिए आवश्यक है –

उत्तर

1

मैं इसे

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

हल समस्या के बाद से एक बटन UIButton

0

सुनिश्चित करें कि आपके scrollview छूता निगल नहीं हुआ है:

इस कोड है चेक इस दूसरे अतः question

4

डालना है आपको अपने दृश्य का सामग्री आकार सेट करना होगा। यह scrollView के सामग्री आकार से अधिक या बराबर होना चाहिए।

क्योंकि आपके दृश्य का डिफ़ॉल्ट आकार 320 * 480 (3.5 "रेटिना) और 320 * 568 (4" रेटिना) है। तो

self.view.frame = CGRectMake (0, 0, 320, 700) के रूप में देखने की ऊंचाई बढ़ रही है;

फिर इसे अपने स्क्रॉल व्यू के सबव्यूव के रूप में जोड़ना।

आपको समाधान के लिए ले जाएगा।

-1

कंटेनर व्यू ऊंचाई को स्क्रॉलव्यू ऊंचाई के समान बनाएं।