UITapGestureRecognizer ইউআইটিএবলভিউডডডসিলিটরউএটি ইন্ডেক্সপথকে বিরতি দেয়


207

কীবোর্ডটি যখন প্রদর্শিত হবে তখন আমি পাঠ্য ক্ষেত্রগুলিকে উপরে স্ক্রোল করতে আমার নিজস্ব ফাংশন লিখেছি। পাঠ্য ক্ষেত্রটি থেকে দূরে আলতো চাপ দিয়ে কীবোর্ডটি খারিজ করার জন্য, আমি UITapGestureRecognizerএমন একটি তৈরি করেছি যা ট্যাপিংয়ের সময় পাঠ্য ক্ষেত্রে প্রথমে উত্তরদাতাকে পদত্যাগ করার যত্ন নেয়।

এখন আমি পাঠ্যক্ষেত্রের জন্য একটি স্বতঃপূরণও তৈরি করেছি UITableViewযা পাঠ্য ক্ষেত্রের ঠিক নীচে তৈরি করে এবং ব্যবহারকারী পাঠ্য প্রবেশের সাথে সাথে এটি আইটেমগুলিতে পপুলেট করে।

যাইহোক, স্বয়ংক্রিয়ভাবে সম্পন্ন টেবিলের didSelectRowAtIndexPathকোনও একটি এন্ট্রি নির্বাচন করার সময়, কল হয় না। পরিবর্তে, দেখে মনে হচ্ছে যে ট্যাপের অঙ্গভঙ্গি সনাক্তকারীকে কল করা হচ্ছে এবং কেবল প্রথম প্রতিক্রিয়াকারীকে পদত্যাগ করেছেন।

আমি অনুমান করছি যে ট্যাপের ইশারা শনাক্তকারীকে ট্যাপ বার্তাটি নীচে রেখে দেওয়ার জন্য বলার কিছু উপায় আছে UITableViewতবে আমি কী তা বুঝতে পারি না। কোন সাহায্য খুব প্রশংসা করা হবে।


উত্তর:


258

ঠিক আছে, অবশেষে এটি অঙ্গভঙ্গি সনাক্তকারী ডক্সের মাধ্যমে কিছু অনুসন্ধানের পরে খুঁজে পেয়েছি।

সমাধানটি প্রয়োগ করা UIGestureRecognizerDelegateএবং নিম্নলিখিতগুলি যুক্ত করা ছিল:

////////////////////////////////////////////////////////////
// UIGestureRecognizerDelegate methods

#pragma mark UIGestureRecognizerDelegate methods

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    if ([touch.view isDescendantOfView:autocompleteTableView]) {

        // Don't let selections of auto-complete entries fire the 
        // gesture recognizer
        return NO;
    }

    return YES;
}

যে এটি যত্ন নেন। আশা করি এটি অন্যকেও সহায়তা করবে।


আপনার সম্ভবত পাঠ্য ক্ষেত্রে ট্যাপগুলি এড়ানো দরকার।
স্টিভেন ক্রামার

5
আমার আরও ভাগ্য হয়েছিলreturn ![touch.view isKindOfClass:[UITableViewCell class]];
জোশ প্যারাড্রয়েড

1
@ জোশ আপনি ঘরের অভ্যন্তরে লেবেলগুলিতে আলতো চাপলে এটি কাজ করে না। আসলে জেসনের উত্তর আমার যা প্রয়োজন তা পুরোপুরি কার্যকর করে।
উইলিয়াম টি।

তবে এটি আপনার সমস্যার উত্তর নয়, না? এটি হয় / অথবা। মূলত টেবিল দৃশ্যের যে কোনও স্পর্শটি অঙ্গভঙ্গি সনাক্তকারী হিসাবে তাত্পর্যপূর্ণ .... আপনি যেটি চান তা ইশারা শনাক্তকারী এবং টেবিল দেখুন নির্বাচনের জন্য কাজ করতে পারেন
পোস্টকোডিজম

5
@ দুর্গাপ্রসাদ কক্ষ নির্বাচন করার সময় স্পষ্টভাবে অঙ্গভঙ্গি সনাক্তকারীকে অক্ষম করতে আমি নিজেই বাদ দেওয়ার ![touch.view isEqual: self.tableView] &&আগে একটি যুক্ত করেছিলাম (কারণ তর্ক-দর্শনটি যদি রিসিভার-ভিউ নিজেই হয় তবে ফিরে আসে )। আশা করি যে একই ফলাফল পেতে চাইলে অন্যান্য লোকেদের সহায়তা করবে। [touch.view isDescendantOfView: self.tableView]tableViewisDescendantOfView:YES
anneblue

220

এই সমস্যাটি সমাধানের সবচেয়ে সহজ উপায় হ'ল:

UITapGestureRecognizer *tapRec = [[UITapGestureRecognizer alloc] 
    initWithTarget:self action:@selector(tap:)];
[tapRec setCancelsTouchesInView:NO];

এটি টেপটিকে UIGestureRecognizerসনাক্ত করতে এবং পরবর্তী প্রতিক্রিয়াকারীকে স্পর্শটিও দিতে দেয়। এই পদ্ধতির একটি অনিচ্ছাকৃত পরিণতি যদি আপনার কাছে থাকে aUITableViewCell অন-স্ক্রিন থাকে যা অন্য ভিউ নিয়ামককে ধাক্কা দেয়। ব্যবহারকারী কীবোর্ড খারিজ করতে সারিটি আলতো চাপলে কিবোর্ড এবং পুশ উভয়ই স্বীকৃত হবে। আমি সন্দেহ করি এটিই আপনার উদ্দেশ্য, তবে এই পদ্ধতিটি অনেক পরিস্থিতিতেই পর্যাপ্ত।

এছাড়াও, রবার্টের উত্তরটি প্রসারিত করে যদি আপনার প্রশ্নের মধ্যে টেবিলভিউয়ের কোনও পয়েন্টার থাকে, তবে আপনি স্ট্রিংতে রূপান্তরিত না করে সরাসরি তার শ্রেণীর তুলনা করতে পারেন এবং আশা করছেন অ্যাপল নাম পরিবর্তন করে না:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
     shouldReceiveTouch:(UITouch *)touch
{
    if([touch.view class] == tableview.class){
        return //YES/NO
    }

    return //YES/NO

}

মনে রাখবেন, আপনাকে অবশ্যই এই কোডটিতে UIGestureRecognizerএই প্রতিনিধি রাখার ঘোষণা করতে হবে।


4
ধন্যবাদ, সেটক্যানসেলস টাচসইনভিউ সবকিছু পরিবর্তন করে :)
পোস্টকোডিজম

আপনি isDescendantOfViewযদি classকোনও সাবউভিউতে আলতো চাপতে পারেন তবে ঠিক এটি সমান কিনা তা পরীক্ষা করার পরিবর্তে এখনও ব্যবহার করতে চাইতে পারেন । আপনার যা প্রয়োজন তা নির্ভর করে।
শিম 21

71

cancelsTouchesInViewআপনার সনাক্তকারীকে মিথ্যা হিসাবে সেট করুন । অন্যথায়, এটি নিজের জন্য স্পর্শটিকে "গ্রাস" করে, এবং এটি টেবিল দৃশ্যে প্রেরণ করে না। এজন্য বাছাইয়ের ইভেন্টটি কখনই ঘটে না।

উদাহরণস্বরূপ swift

let tapOnScreen: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "CheckTheTime")
tapOnScreen.cancelsTouchesInView = false
view.addGestureRecognizer(tapOnScreen)

1
এর জন্য থ্যাঙ্কস অনেক!
বিষান

1
এটি সুইফটে সবচেয়ে পরিষ্কার est ধন্যবাদ
Dx_

টেবিলভিউ, কমনীয় এবং সাধারণ কক্ষের মধ্যে ভাল কাজ করে!
আবদুলারহমান

@ লয়াউর খুব সত্য
বিলেক হোল


42

এবং সুইফটের জন্য (@ জেসনের উত্তরগুলির ভিত্তিতে):

class MyAwesomeClass: UIViewController, UIGestureRecognizerDelegate

private var tap: UITapGestureRecognizer!

override func viewDidLoad() {
   super.viewDidLoad()

   self.tap = UITapGestureRecognizer(target: self, action: "viewTapped:")
   self.tap.delegate = self
   self.view.addGestureRecognizer(self.tap)
}

// UIGestureRecognizerDelegate method
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
    if touch.view?.isDescendantOfView(self.tableView) == true {
        return false
    }
    return true
}

থ্যাঙ্কস এই আমার সময় সাশ্রয়।
বিষান

22

আমার কাছে টেবিল দৃশ্যের উপরে ট্যাপ ইশারা যুক্ত করার জন্য আরও ভাল সমাধান থাকতে পারে তবে একই সময়ে সেল নির্বাচনকে অনুমতি দেওয়া হয়েছে:

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
    if gestureRecognizer is UITapGestureRecognizer {
        let location = touch.locationInView(tableView)
        return (tableView.indexPathForRowAtPoint(location) == nil)
    }
    return true
}

আমি কেবলমাত্র স্ক্রিনের সেই বিন্দুতে একটি ঘর খুঁজছি যেখানে ব্যবহারকারী ট্যাপ করছে। যদি কোনও সূচকের পথ না পাওয়া যায় তবে আমি অঙ্গভঙ্গিটি স্পর্শ পেতে দেব অন্যথায় আমি এটি বাতিল করে দিই। আমার জন্য এটি দুর্দান্ত কাজ করে।


1
এই সমাধান শিলা! টেবিলের খালি ক্ষেত্র থেকে ঘর আলাদা করতে খুব দরকারী ..
আলেসান্দ্রো ওর্নানো

18

আমি মনে করি কোডগুলির ব্লকগুলি লেখার দরকার নেই কেবল আপনার অঙ্গভঙ্গি অবজেক্টের জন্য কেবল সেট cancelsTouchesInViewকরা false, ডিফল্টরূপে এটি trueএবং আপনাকে কেবল সেট করতে হবে false। আপনি যদি নিজের কোডটিতে UITapGestureঅবজেক্ট ব্যবহার করছেন এবং এটিও UIScrollView(টেবিলভিউ, সংগ্রহের ভিউ) ব্যবহার করেন তবে এই সম্পত্তিটি সেট করুনfalse

let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard))
tap.cancelsTouchesInView = false
view.addGestureRecognizer(tap)

এই উত্তরটি পোস্ট করার জন্য ধন্যবাদ
গুস্তাভো বায়োচি কোস্টা

14

gestureRecognizer:shouldReceiveTouch:কোন পদক্ষেপ গ্রহণ করা হবে তা নির্ধারণ করার জন্য দর্শনের শ্রেণি ব্যবহার করে বাস্তবায়ন করা একই জাতীয় সমাধান । এই পদ্ধতির সরাসরি টেবিলকে ঘিরে এই অঞ্চলে ট্যাপগুলি মাস্কিং না করার সুবিধা রয়েছে (এই অঞ্চলের দৃষ্টিভঙ্গি এখনও ইউআইটিএবলভিউ দৃষ্টান্ত থেকে নেমে আসে তবে তারা কোষকে প্রতিনিধিত্ব করে না)।

এটিতে একটি বোনাসও রয়েছে যা এটি একক ভিউতে একাধিক টেবিলের সাথে কাজ করে (অতিরিক্ত কোড যুক্ত না করে)।

ক্যাভেট: এমন একটি ধারণা রয়েছে যে অ্যাপল শ্রেণিকাম পরিবর্তন করবে না।

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    return ![NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"];
}

1
শ্রেণীর নামের স্ট্রিংটি অপসারণ করতে এই লাইনটি ব্যবহার করুনreturn ![[touch.view.superview class] isSubclassOfClass:[UITableViewCell class]];
নিলিয়ালং

7

জন্য সুইফট 4.2 সমাধান বাস্তবায়ন ছিল UIGestureRecognizerDelegateএবং নিচের যোগ করুন:

extension ViewController : UIGestureRecognizerDelegate {
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
        if touch.view!.isDescendant(of: tblView) {
            return false
        }
        return true
    }
}

আপনি যখন টেবিল ভিউতে ক্লিক করেন তখন এই প্রতিনিধি পদ্ধতিটি মিথ্যা দেয় এবং didSelectRowAtIndexPathটেবিল ভিউয়ের পদ্ধতিটি সঠিকভাবে কাজ করে।


1
এই উত্তর পোস্ট করার জন্য ধন্যবাদ বন্ধু, আপনি আমার সময় বাঁচান।
জয় ভালানি

4

আমার অন্যরকম পরিস্থিতি হয়েছিল যেখানে আমি চাইছিলাম যখন স্পর্শ অঙ্গভঙ্গির ফাংশনটি কেবল তখনই কল করা হয় যখন ব্যবহারকারী টেবিল দেখার বাইরে ট্যাপ করেন । যদি ব্যবহারকারীটি টেবিল দৃশ্যের অভ্যন্তরে আলতো চাপ দেয় তবে স্পর্শের অঙ্গভঙ্গি ফাংশনটি কল করা উচিত নয়। তদ্ব্যতীত, যদি স্পর্শ অঙ্গভঙ্গি ফাংশন বলা হয়, তবুও এটি স্পর্শ ইভেন্টটি সেটিকে দেখার পরিবর্তে ট্যাপ করা দৃশ্যে পৌঁছে দেওয়া উচিত।

ফলাফল কোড হ'ল আবদুল্লাহমান মাসউদের উত্তর এবং নিকোলাজ নীলসেনের উত্তরের সংমিশ্রণ।

extension MyViewController: UIGestureRecognizerDelegate {
    func addGestureRecognizer() {
        let tapOnScreen = UITapGestureRecognizer(target: self,
                                                action: #selector(functionToCallWhenUserTapsOutsideOfTableView))

        // stop the gesture recognizer from "consuming" the touch event, 
        // so that the touch event can reach other buttons on view.
        tapOnScreen.cancelsTouchesInView = false

        tapOnScreen.delegate = self

        self.view.addGestureRecognizer(tapOnScreen)
    }

    // if your tap event is on the menu, don't run the touch event.
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
        if touch.view?.isDescendant(of: self.tableView) == true {
            return false
        }
        return true
    }

    @objc func functionToCallWhenUserTapsOutsideOfTableView() {

        print("user tapped outside table view")
    }
}

আর এ MyViewControllerবর্গ, বর্গ যা UITableView, ইন onViewDidLoad(), আমি কল নিশ্চিত করেছেন addGestureRecognizer():

class MyViewController: UIViewController {
    ...
    override func viewDidLoad() {
        super.viewDidLoad()
        ...
        self.addGestureRecognizer()
        ...
    }
    ...
}

3

শুধু সেট cancels touches in viewকরতে falseনীচে কোনো অঙ্গভঙ্গি জন্য (table/collection)View:

- ইন্টারফেস বিল্ডার

Interfacebuilder

- কোড

<#gestureRecognizer#>.cancelsTouchesInView = false

আমি যদি এই কাজটি অক্ষম করতে চাই তবে কেবলমাত্রডিলিটআরআউটকে এটির সাথে কাজ করার অনুমতি দেয় না?
ইয়াদ শোকরি

1

যদিও এটি দেরি হয়ে গেছে এবং অনেক লোক দেখতে পান যে উপরের পরামর্শগুলি ঠিকঠাক কাজ করেছে, আমি জেসনস বা টিমিলিগানের পদ্ধতিগুলি কাজ করতে পারি না।

আমার কাছে স্ট্যাটিক টেবিল ভিউ রয়েছে যাতে একাধিক কক্ষ রয়েছে যার মধ্যে পাঠ্যক্ষেত্রগুলি থাকে যা কেবলমাত্র নম্বর কীবোর্ড ব্যবহার করে নম্বর ইনপুট গ্রহণ করে। এটি আমার জন্য আদর্শ ছিল:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    if(![touch.view isKindOfClass:[UITableViewCell class]]){

        [self.firstTF resignFirstResponder];
        [self.secondTF resignFirstResponder];
        [self.thirdTF resignFirstResponder];
        [self.fourthTF resignFirstResponder];

        NSLog(@"Touches Work ");

        return NO;
    }
    return YES;
}

আপনি <UIGestureRecognizerDelegate>এটি আপনার .h ফাইলে প্রয়োগ করেছেন তা নিশ্চিত করুন।

এই লাইনটি ![touch.view isKindOfClass:[UITableViewCell class]]কোনও টেবিলভিউসেলটি টেপ করা হয়েছে এবং কোনও সক্রিয় কীবোর্ডকে খারিজ করে কিনা তা পরীক্ষা করে।


1

সাধারণ সমাধানটি স্পর্শ পেতে UITableViewCell এ UIControl দৃষ্টান্তগুলি ব্যবহার করছে। আপনি ব্যবহারকারীর সাথে কোনও মতামত যোগ করতে পারেনএন্ট্রেশনএনবেবলস == টিপগুলি পেতে ইউআইসিএন্ট্রোল এ কোনও নয়।


0

এখানে আমার সমাধানটি দেওয়া হয়েছে, যা কীবোর্ডটি প্রদর্শিত হচ্ছে কিনা তা প্রত্যক্ষকারীর রিসিপটচকে সরাসরি যুক্ত করে।

আপনার ট্যাপ অঙ্গভঙ্গি সনাক্তকারী প্রতিনিধি:

#pragma mark - UIGestureRecognizerDelegate

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    if ([PFXKeyboardStateListener sharedInstance].visible) {
        return YES;
    }

    return NO;
}

এবং PFXKeyboardStateListener.h:

@interface PFXKeyboardStateListener : NSObject
{
    BOOL _isVisible;
}

+ (PFXKeyboardStateListener *)sharedInstance;

@property (nonatomic, readonly, getter=isVisible) BOOL visible;

@end

এবং PFXKeyboardStateListener.m:

static PFXKeyboardStateListener *sharedInstance;

@implementation PFXKeyboardStateListener

+ (PFXKeyboardStateListener *)sharedInstance
{
    return sharedInstance;
}

+ (void)load
{
    @autoreleasepool {
        sharedInstance = [[self alloc] init];
    }
}

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

- (BOOL)isVisible
{
    return _isVisible;
}

- (void)didShow
{
    _isVisible = YES;
}

- (void)didHide
{
    _isVisible = NO;
}

- (id)init
{
    if ((self = [super init])) {
        NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
        [center addObserver:self selector:@selector(didShow) name:UIKeyboardDidShowNotification object:nil];
        [center addObserver:self selector:@selector(didHide) name:UIKeyboardWillHideNotification object:nil];
    }
    return self;
}

@end

আপনি কীবোর্ড শ্রোতার একক প্যাটার্নটি আপডেট করতে চাইতে পারেন, আমি এটি এখনও পাইনি। আশা করি এটি অন্য সবার জন্যও কাজ করে পাশাপাশি এটি আমার জন্যও কার্যকর। ^^


0

ইউআইজিস্টচাররনগায়াইজারের প্রতিনিধিদের জন্য এই পদ্ধতিটি প্রয়োগ করুন:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
       shouldReceiveTouch:(UITouch *)touch
{
  UIView *superview = touch.view;
  do {
    superview = superview.superview;
    if ([superview isKindOfClass:[UITableViewCell class]])
      return NO;
  } while (superview && ![superview isKindOfClass:[UITableView class]]);

  return superview != nil;
}

0

দ্রুত আপনি এটি ভিতরে ব্যবহার করতে পারেন

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    if CheckTheTime() == true {
        // do something 
    }else{
    }
}

func CheckTheTime() -> Bool{
    return true
}

0

আমার কেসটি ইউসন্ধানবার এবং স্ব-ভিউতে ইউটিভ্যালিভিউ সহ আলাদা ছিল। আমি ভিউতে স্পর্শ করে ইউসার্চবার কীবোর্ডটি খারিজ করতে চেয়েছিলাম।

var tapGestureRecognizer:UITapGestureRecognizer?

override func viewWillAppear(animated: Bool) {
    tapGestureRecognizer = UITapGestureRecognizer(target: self, action:Selector("handleTap:"))
}

ইউআইএসবারবার ডেলিগেট পদ্ধতিতে:

func searchBarShouldBeginEditing(searchBar: UISearchBar) -> Bool {
    view.addGestureRecognizer(tapGestureRecognizer!)
    return true
}
func searchBarShouldEndEditing(searchBar: UISearchBar) -> Bool {
    view.removeGestureRecognizer(tapGestureRecognizer!)
    return true
}

যখন ব্যবহারকারী স্ব.ভিউতে স্পর্শ করে:

func handleTap(recognizer: UITapGestureRecognizer) {
    sampleSearchBar.endEditing(true)
    sampleSearchBar.resignFirstResponder()
}

0

সুইফট 5, 2020 মে।

আমার কাছে একটি পাঠ্য ফিল্ড এবং একটি টেবিলভিউ রয়েছে যা আমি পাঠ্য প্রবেশ করালে দৃশ্যমান হয়।

প্রারম্ভিক অবস্থা তাই আমি টেবিলভিউসেল বা অন্য কোনও কিছুতে যখন ট্যাপ করি তখন 2 টি আলাদা ইভেন্ট চাই।

কীবোর্ড এবং টেবিলভিউ প্রদর্শিত হচ্ছে

প্রথমে আমরা tapGestureR সনাক্তকারীকে যুক্ত করব।

tap = UITapGestureRecognizer(target: self, action: #selector(viewTapped))
tap.delegate = self
view.addGestureRecognizer(tap)

@objc func viewTapped() {
        view.endEditing(true)
}

তারপরে আমরা ইউআইজিস্টারআরগনাইজারডেলিগেটে নিম্নলিখিত চেকটি যুক্ত করব:

extension StadtViewController: UIGestureRecognizerDelegate {

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
    if touch.view?.isDescendant(of: self.tableView) == true {
        return false
    } else {
        view.endEditing(true)
        return true
    }
}

}

যদি আমি প্রথমে কীবোর্ডটি আড়াল করতে চাই তবে টেবিলভিউটি আমার ট্যাপগুলির জন্য দৃশ্যমান এবং প্রতিক্রিয়াশীল থাকবে।

এখানে চিত্র বর্ণনা লিখুন


-1

উপরের উত্তরের ভিত্তিতে এটি আমার সমাধান ... এটি আমার পক্ষে কাজ করেছে ...

//Create tap gesture for menu transparent view
UITapGestureRecognizer *rightTableTransparentViewTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(rightTableTransparentViewTapMethod:)];
[rightTableTransparentViewTap setCancelsTouchesInView:NO];
[_rightTableTransparentView addGestureRecognizer:rightTableTransparentViewTap];

- (void)rightTableTransparentViewTapMethod:(UITapGestureRecognizer *)recognizer {
    //Write your code here
}

-1

সমস্যা: আমার ক্ষেত্রে, সমস্যাটি ছিল যে আমি মূলত প্রতিটি সংগ্রহ ভিউ সেলটিতে একটি বোতাম রেখেছিলাম এবং ঘর পূরণের সীমাবদ্ধতাগুলি সেট করেছিলাম, যাতে ঘরটি ক্লিক করা হলে এটি বোতামটি ক্লিক করবে, তবে বোতামগুলির কার্য খালি ছিল তাই কিছুই ছিল না ঘটছে বলে মনে হচ্ছে।

ফিক্স: সংগ্রহ ভিউ সেল থেকে বোতামটি সরিয়ে আমি এটি ঠিক করেছি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.