আমি যখন ইউআইটিএবলভিউ স্ক্রোলিং শুরু করি তখন আমার অ্যাপ্লিকেশনটিতে আমি হাইড কীবোর্ড চাই। আমি এটি ইন্টারনেটে অনুসন্ধান করি এবং সর্বাধিক উত্তরটি ইউআইটিএবলভিউ (http://stackoverflow.com/questions/3499810/tapping-a-uiscrolview-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 ভিউকন্ট্রোলারে কাজ করে না
জ
#import <UIKit/UIKit.h>
#import "MyUITableView.h"
@interface FirstViewController : UIViewController <UITableViewDelegate, UISearchBarDelegate, MyUITableViewDelegate> {
MyUITableView *myTableView;
UISearchBar *searchBar;
}
@property(nonatomic,retain) IBOutlet MyUITableView *myTableView;
...
.m
- (void) myUITableViewTouchesBegan{
NSLog(@"myUITableViewTouchesBegan");
[searchBar resignFirstResponder];
}
এই বাস্তবায়ন নিয়ে আমার কিছুটা সমস্যা রয়েছে:
1) myUITableViewTouchesBegan ভিউকন্ট্রোলারে কাজ করবেন না
2) মাইআইটিআইটিভিউ.এম থেকে এনএসলগ - এনএসলগ (@ "ডেলিগ্রেট মাইআইটিআইটিভিউ টাউসবেগান"); আমি যখন টেবিল স্পর্শ করি তখনই কাজ করি। আমি যখন স্ক্রোলিং শুরু করি তখন এটি কীভাবে কাজ করবে?
আমি স্ক্রোলভিউডিডস্রোকলকে ওভাররাইড করার চেষ্টা করি কিন্তু কমলার বলেছে যে MyUITableVIe এই স্ট্রিং [সুপার স্ক্রোলভিউডিডসক্রল: স্ক্রোলভিউ] তে সাড়া নাও দিতে পারে ;