2

私のストーリーボードは次のようになります。

ここに画像の説明を入力

ご覧のとおり、MapView の下に TableView があり、検索バーをクリックすると別の TableView が表示されます。

私のコード:

.h

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>

@interface STLMMeetupLocation  : UIViewController <UITextFieldDelegate, UITableViewDataSource, UITableViewDataSource, MKMapViewDelegate, CLLocationManagerDelegate, UISearchBarDelegate, UISearchDisplayDelegate>
@property (weak, nonatomic) IBOutlet MKMapView *mapView;
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (weak, nonatomic) IBOutlet UISearchBar *searchBar;
@end

.m

#pragma mark - Table View

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 2;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 5;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   if (tableView == self.tableView)
{
    static NSString *cellIdentifier = @"firstTableViewCell";
    UITableViewCell *cell = [tableView
                             dequeueReusableCellWithIdentifier:cellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                      reuseIdentifier:cellIdentifier];
    }
    cell.textLabel.text = @"This is a First Table View cell";
    return cell;
}

else {
static NSString *cellIdentifier = @"searchBarCell";
UITableViewCell *cell = [tableView
                         dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                  reuseIdentifier:cellIdentifier];
}
cell.textLabel.text = @"This is a Search Bar cell";
    return cell;
}

}

マイ シミュレーターの最初の画面:

ここに画像の説明を入力

マイ シミュレータ 2 番目の画面:

ここに画像の説明を入力

シミュレーターの最初の画面の tableView の cell.textLabel.text が空白なのはなぜですか? @「これは最初のテーブルビューセルです」; 私は愚かなことをしていることを知っています!

4

3 に答える 3

2

私はあなたのコードを取り、それを試しました。私にとって完璧に機能します。UISearchBarと について完全に記述して接続したと思いますsearchDisplayController。しかし、実際には何かが欠けていtableViewます。

このチュートリアルをざっと見てみることをお勧めします。不足しているポイントをすぐに取得できると確信しています。

ではごきげんよう。

于 2013-04-11T05:49:40.280 に答える
0
-(void)viewWillAppear:(BOOL)animated{

   [super viewWillAppear:animated];
   [self.tableView reloadData];

}
于 2013-04-11T08:43:17.483 に答える