SORU
9 Aralık 2010, PERŞEMBE


Kaydırma UİTableView zaman klavye gizle

Benim app ben UİTableView kaydırma başladığında klavye gizlemek istiyorum. Ben internette bu konuda arama ve sınıflara UİTableView (http://stackoverflow.com/questions/3499810/tapping-a-uiscrollview-to-hide-the-keyboard en cevaptır.

Ama iş alt yaptım.

#import <UIKit/UIKit.h>

@protocol MyUITableViewDelegate <NSObject>
@optional
- (void)myUITableViewTouchesBegan;
@end

@interface MyUITableView : UITableView <UITableViewDelegate, UIScrollViewDelegate> {
    id<MyUITableViewDelegate> delegate;
}
@end

.m dosya

#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 {
...

Bu şekilde bu sınıfı kullanıyorum. Ama temsilci işlevi myUİTableViewTouchesBegan ViewController içinde çalışmıyor

.h

#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];
}

Bu ağ ile bazı sorunlarım var:< / ^ br . 1) myUİTableViewTouchesBegan dont ViewController çalışın< / ^ br . 2) MyUİTableView gelen NSLog.m - . ben^>(@"Temsilci myUİTableViewTouchesBegan"); . NSLog ^/i>sadece ben masa dokunmaya çalışın. İşler nasıl kaydırma başladığımda da yaptı?< / ^ br . Geçersiz scrollViewDidScroll çalışıyorum ama comiler bu MyUİTableVİew bu dize cevap vermiyor olabilir " dedi . ben^>[süper scrollViewDidScroll:scrollView];

CEVAP
9 Aralık 2010, PERŞEMBE


Bunun için UİTableView alt gerekir neden emin değilim.

Düz UİTableView içeren görünüm denetleyicisi, bu eklemeyi deneyin:

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    [searchBar resignFirstResponder];
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • alex maybury

    alex maybury

    20 Aralık 2007
  • CMTelly

    CMTelly

    2 Mayıs 2007
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009