मेरे पास है जिसमें UIView
अंदर है। मैं एक्स-अक्ष को लॉक करना चाहता हूं ताकि दृश्य केवल लंबवत स्क्रॉल हो। मैं दिशात्मक लॉकिंग कैसे सक्षम करूं?मैं UIScrollView के लिए दिशात्मक लॉक कैसे सक्षम करूं?
उत्तर
सबसे पहले, UIScrollView के "सामग्री आकार" को एक चौड़ाई रखने के लिए सेट करें जो UIScrollView के फ्रेम की चौड़ाई के बराबर या उससे कम है।
अगला, यूआईएसक्रॉल व्यू के "हमेशा बाउंस होरिज़ोंटल" को सेट करें। यह "रबड़ बैंडिंग" से स्क्रॉल व्यू को रोक देगा, भले ही आपने इसे बताया है कि प्रदर्शित करने के लिए कोई और क्षैतिज सामग्री नहीं है।
UIScrollView *scrollView;
CGSize size = scrollView.contentSize;
size.width = CGRectGetWidth(scrollView.frame);
scrollView.contentSize = size;
scrollView.alwaysBounceHorizontal = NO;
इससे कोई फर्क नहीं पड़ता कि वास्तव में स्क्रॉल व्यू के अंदर क्या है।
आप UIScrollView
उपवर्गीकरण किया जाएगा और touchesBegan:withEvent:
विधि, touchesMoved:withEvent:
विधि, और touchesEnded:withEvent:
विधि अधिभावी।
आप उन तरीकों, एक स्पर्श का प्रारंभ और अंत बिंदु के साथ इस्तेमाल करेंगे, गणना करने के लिए स्पर्श घटना किस तरह जगह ले ली: यह एक साधारण नल, या एक क्षैतिज या लम्बवत कड़ी चोट थी?
यदि यह एक क्षैतिज स्वाइप है, तो आप स्पर्श ईवेंट रद्द कर देते हैं।
यह जानने के लिए कि आप कैसे शुरू कर सकते हैं source code here पर एक नज़र डालें।
अपने इरादे के स्क्रॉलव्यू को सूचित करने के लिए बेहतर है, मुझे लगता है कि मैन्युअल रूप से स्वयं को छूने के बजाय मुझे लगता है। आपके दृष्टिकोण के साथ, यदि आप क्षैतिज रूप से खींचना शुरू करते हैं (भले ही दुर्घटना से), तो आप लंबवत खींच नहीं सकते हैं और इसे काम कर सकते हैं। –
मुझे डर था कि कोई यह कहेंगे ... अक्ष को लॉक करने के लिए एक निश्चित-अग्नि तरीका मुझे यकीन है, लेकिन मुझे लगता है कि मैं ऐसा करने के लिए एक आलसी तरीके खोज रहा हूं। यद्यपि आपकी प्रतिक्रिया के लिए धन्यवाद। निक फरीना ने मेरा मुद्दा हल करके हल किया: सबसे पहले, UIScrollView के "सामग्री आकार" को एक चौड़ाई रखने के लिए सेट करें जो UIScrollView के फ्रेम की चौड़ाई के बराबर या उससे कम है। अगला, यूआईएसक्रॉल व्यू के "हमेशा बाउंस होरिज़ोंटल" को सेट करें। यह "रबड़ बैंडिंग" से स्क्रॉल व्यू को रोक देगा, भले ही आपने इसे बताया है कि प्रदर्शित करने के लिए कोई और क्षैतिज सामग्री नहीं है। – RexOnRoids
#import <UIKit/UIKit.h>
@interface DemoButtonViewController : UIViewController <UIScrollViewDelegate>
@property (nonatomic, strong) UIScrollView *filterTypeScrollView;
@property (nonatomic, strong) UIBarButtonItem *lockButton;
- (void)lockFilterScroll:(id)sender;
@end
#import "DemoButtonViewController.h"
@implementation DemoButtonViewController
@synthesize filterTypeScrollView;
@synthesize lockButton;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
{
// Custom initialization
}
return self;
}
- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor darkGrayColor];
self.filterTypeScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 130, self.view.frame.size.width, 320)];
filterTypeScrollView.contentSize = CGSizeMake(self.view.frame.size.width*4, 320);
filterTypeScrollView.pagingEnabled = YES;
filterTypeScrollView.delegate = self;
[self.view addSubview:filterTypeScrollView];
UIToolbar *lockbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 450, self.view.frame.size.width, 30)];
lockbar.barStyle = UIBarStyleBlackTranslucent;
self.lockButton = [[UIBarButtonItem alloc] initWithTitle:@"Lock Filter Scroll" style:UIBarButtonItemStylePlain target:self action:@selector(lockFilterScroll:)];
[lockbar setItems:[NSArray arrayWithObjects:[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],lockButton,nil]];
[self.view addSubview:lockbar];
}
- (void)viewDidUnload
{
[super viewDidUnload];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (void)lockFilterScroll:(id)sender
{
filterTypeScrollView.scrollEnabled = !filterTypeScrollView.scrollEnabled;
if (filterTypeScrollView.scrollEnabled)
{
[lockButton setTitle:@"Lock Filter Scroll"];
}
else {
[lockButton setTitle:@"Unlock Filter Scroll"];
}
}
@end
- 1. मैं ग्लूट में कीबोर्ड की दिशात्मक कुंजी कैसे निर्दिष्ट करूं?
- 2. मैं गिट रेपो के लिए पहचान स्ट्रिंग कैसे सक्षम करूं?
- 3. मैं जेनकिन्स जेएनएलपी दासों के लिए सुरक्षा कैसे सक्षम करूं?
- 4. मैं UIScrollView
- 5. पायथन थ्रेडिंग। मैं धागा कैसे लॉक करूं?
- 6. UIScrollView ज़ूम के बाद मैं रीसेट कैसे करूं?
- 7. मैं ड्रीमहोस्ट पर gzip कैसे सक्षम करूं?
- 8. मैं UIScrollView
- 9. मैं फ़ोन के लिए स्क्रीन अभिविन्यास कैसे लॉक करूं, लेकिन टैबलेट के लिए नहीं? (एंड्रॉइड)
- 10. मैं जीएचसीआई के भीतर से भाषा एक्सटेंशन कैसे सक्षम करूं?
- 11. दिशात्मक रोशनी
- 12. UIPanGestureRecognizer के बीच निरंतर स्क्रॉलिंग और पुनः सक्षम UIScrollView
- 13. मैं विंडोज वर्कस्टेशन प्रोग्रामेटिक रूप से कैसे लॉक करूं?
- 14. मैं वीबी.नेट में कैप्स लॉक को टॉगल कैसे करूं?
- 15. मैं व्यू कंट्रोलर को UIScrollView
- 16. मैं postgresql के साथ काम करने के लिए php को कैसे सक्षम करूं?
- 17. मैं SQL सर्वर पर एमएसडीटीसी कैसे सक्षम करूं?
- 18. मैं एक्शन स्क्रिप्ट में डबल क्लिक कैसे सक्षम करूं?
- 19. मैं विम में स्वचालित फ़ोल्डर्स कैसे सक्षम करूं?
- 20. मैं ग्रहण में वर्तनी जांच कैसे सक्षम करूं?
- 21. मैं pydev में पोस्ट मॉर्टम डीबगिंग कैसे सक्षम करूं?
- 22. मैं PHP 5 में XSLT फ़ंक्शंस को कैसे सक्षम करूं?
- 23. मैं मैकिटो डीबग संदेशों को कैसे सक्षम करूं?
- 24. मैं बहु-थ्रेडेड प्रोग्राम पर रिवर्स डीबगिंग कैसे सक्षम करूं?
- 25. मैं अपाचे 2.2.17 पर mod_Gzip को कैसे सक्षम करूं?
- 26. मैं सी # में दूसरा मॉनिटर कैसे सक्षम करूं?
- 27. मैं विंडोज़ पर PHP HTTP पीईसीएल एक्सटेंशन कैसे सक्षम करूं?
- 28. मैं MySQL सर्वर पर बाहरी पहुंच कैसे सक्षम करूं?
- 29. UIScrollView
- 30. मैं वीएस 2008 में लाइन नंबर कैसे सक्षम करूं?
इससे मुझे एक्सकोड 7 में भी मदद मिली। मुझे दिशा लॉक को काम करने के लिए स्टोरीबोर्ड में बाउंस बंद करना पड़ा (भले ही मेरे पास दिशा लॉक सक्षम हो गया हो)। –