में UITextview
में मैग्निफाइंग ग्लास को अक्षम करें जब लंबे समय के आवर्धक ग्लास के लिए स्पर्श दबाया जाता है। मैं इसे कैसे अक्षम कर सकता हूं।UITextview
उत्तर
अंत में इस मुद्दे को भी
का समाधान यहाँ है मामला किसी में संदर्भ के लिए कोड
जरूरत subclassed UITextView के मीटर फ़ाइल में कोड
-(void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
{
//Prevent zooming but not panning
if ([gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]])
{
gestureRecognizer.enabled = NO;
}
[super addGestureRecognizer:gestureRecognizer];
return;
}
यह काम करता है जोड़ा।
लेकिन अगर मुझे गलत नहीं लगता है तो यह पूरी तरह से लंबे प्रेस को अक्षम करता है। दूसरे शब्दों में, यदि आपके टेक्स्ट व्यू में एक यूआरएल लिंक या फोन नंबर है (यदि आप डिटेक्शन सक्षम करते हैं) तो लंबे समय तक दबाएं, आपका टेक्स्ट व्यू उनको जवाब देने में सक्षम नहीं होगा, क्या मैं सही हूँ? – antf
कैरेट और टेक्स्ट संपादन को भी अक्षम करना चाहते हैं? यह उत्तर देखें-> [लिंक] (http://stackoverflow.com/questions/18139234/prevent-editing-of-text-in-uitextfield-and-hide-cursor-caret-magnifying-glass-wh/18139235#18139235) – thedeveloper3124
हां, जैसे @antf ने कहा, यह कोड लिंक, फोन और घटनाओं पर पूरी तरह से स्पर्श को अक्षम करता है। – sig
यह मेरे लिए काम करता
@implementation CustomTextView
- (NSArray *)selectionRectsForRange:(UITextRange *)range
{
self.selectedTextRange = nil;
return nil;
}
- (void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
{
gestureRecognizer.delegate = self;
[super addGestureRecognizer:gestureRecognizer];
return;
}
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
return NO;
}
- (CGRect)caretRectForPosition:(UITextPosition *)position
{
return [super caretRectForPosition:self.endOfDocument];
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if (([gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]] && !gestureRecognizer.delaysTouchesEnded))
{
return NO;
}
else
return YES;
}
@ इरीना के उत्तर आंशिक रूप से काम करता है (एक नल एक लंबे प्रेस के बाद की कोशिश करो और आप एक आवर्धक ओवरले करना होगा) निम्नलिखित के साथ आईओएस 10 पर iOS 9.x और दुर्घटनाओं के लिए :
*** न आया हुआ अपवाद 'NSInvalidArgumentException', कारण की वजह से एप्लिकेशन समाप्त:
'तुम UIViewControllerPreviewing विफलता संबंध इशारा पहचानकर्ता के प्रतिनिधि नहीं बदल सकते'
निम्न कोड आईप 9 .x और 10.x के लिए दोनों टैप और/या लंबे संकेतों के संयोजन में काम करता है जो मैं सोच सकता हूं।
नोट मुझे गारंटी नहीं है कि यह ऐप्पल की समीक्षा द्वारा स्वीकार किया जाएगा।
@implementation CustomTextView
- (void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
{
NSArray *allowedGestures = @[ @"UILongPressGestureRecognizer", @"UIScrollViewDelayedTouchesBeganGestureRecognizer", @"UIScrollViewPanGestureRecognizer" ];
if (![allowedGestures containsObject:NSStringFromClass([gestureRecognizer class])])
{
return;
}
if (([gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]] && !gestureRecognizer.delaysTouchesEnded))
{
return;
}
[super addGestureRecognizer:gestureRecognizer];
}
@end
हम स्क्रॉल करने के लिए UITextView
क्षमता रखने के लिए UIScrollViewDelayedTouchesBeganGestureRecognizer
और UIScrollViewPanGestureRecognizer
की जरूरत है। दोनों कक्षाएं निजी एपीआई का हिस्सा हैं, इसलिए अपने जोखिम पर इसका उपयोग करें।
- 1. UITextView
- 2. UITextView
- 3. UITextView
- 4. UITextView
- 5. UITextView
- 6. UITextView
- 7. UITextView
- 8. UITextView
- 9. UITextView
- 10. UITextView
- 11. UITextView
- 12. UITextView
- 13. UITextView
- 14. आईफोन - UITextView
- 15. UITextview ContentSize
- 16. मैं UITextView
- 17. रंगीन UITextview
- 18. पारदर्शी UITextView
- 19. UILabel/UITextView
- 20. UITextView पृष्ठभूमि छवि
- 21. सीमित UITextView या UITextField
- 22. UITextView पेजिंग सक्षम टेक्स्ट
- 23. uitextview हाइपरलिंक रंग बदलें
- 24. आईफोन प्रोग्रामिंग: UITextView
- 25. UITextView ऑटो ऊंचाई
- 26. सरल UITextView क्रैशिंग
- 27. UITextView स्वत: स्क्रॉल नीचे
- 28. UItextview पारदर्शी रंग IOS
- 29. जब मैं एक UITextView
- 30. iOS4: प्रोग्राम UITextView
यह [थ्रेड] देखें (http://stackoverflow.com/questions/866200/disable-magnifying-glass-in-uitextfield) – Alexander
उत्तर है [यहां] [https://stackoverflow.com/a/ 48077605/4061501)। ** कोई सबक्लास आवश्यक नहीं है। ** –