जब मैं UITableView स्क्रॉल करना शुरू करता हूं, तो मेरे ऐप में मैं कीबोर्ड छिपा देता हूं। मैं इंटरनेट पर इसके बारे में खोज करता हूं, और अधिकांश उत्तर UITableView (http://stackoverflow.com/questions/3499810/tapping-a-uiscrollview-to-hide-the-keyboard) को उपवर्गित कर रहा है।
मैंने उपवर्ग बनाए लेकिन यह काम नहीं है।
#import <UIKit/UIKit.h>
@protocol MyUITableViewDelegate <NSObject>
@optional
- (void)myUITableViewTouchesBegan;
@end
@interface MyUITableView : UITableView <UITableViewDelegate, UIScrollViewDelegate> {
id<MyUITableViewDelegate> delegate;
}
@end
.m फ़ाइल
#import "MyUITableView.h"
@implementation MyUITableView
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
NSLog(@"delegate scrollView"); //this is dont'work
[super scrollViewDidScroll:scrollView];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"delegate myUITableViewTouchesBegan"); // work only here
[delegate myUITableViewTouchesBegan];
[super touchesBegan:touches withEvent:event];
}
- (void)dealloc {
...
मैं इस तरह इस वर्ग का उपयोग करता हूं। लेकिन प्रतिनिधि कार्य myUITableViewTouchesBegan ViewController में काम नहीं करते हैं
ज
#import <UIKit/UIKit.h>
#import "MyUITableView.h"
@interface FirstViewController : UIViewController <UITableViewDelegate, UISearchBarDelegate, MyUITableViewDelegate> {
MyUITableView *myTableView;
UISearchBar *searchBar;
}
@property(nonatomic,retain) IBOutlet MyUITableView *myTableView;
...
।म
- (void) myUITableViewTouchesBegan{
NSLog(@"myUITableViewTouchesBegan");
[searchBar resignFirstResponder];
}
मुझे इस समस्या से कुछ परेशानी है:
1) myUITableViewTouchesBegan ViewController
2 में काम न करें) MyLITableView.m से NSLog - NSLog (@ "myUITableViewTouchesBegan प्रतिनिधि"); जब मैं टेबल को छूता हूं तब ही काम करता हूं। जब मैंने स्क्रॉल करना शुरू किया तो यह कैसे काम करता है?
मैं स्क्रॉल ओवरडायर्सक्रॉलर को ओवरराइड करने की कोशिश करता हूं, लेकिन कॉमाइलर ने कहा कि MyUITableVIew को इस स्ट्रिंग पर प्रतिक्रिया नहीं दी जा सकती है [सुपर स्क्रॉलव्यूडसक्रोल: स्क्रॉलव्यू];