2011-05-10 8 views
2

Я создаю приложение, в котором я хочу отобразить текстовое поле, и когда я ввожу в него слово, тогда он отобразит содержимое из словаря, который соответствует этому слову. Теперь я хотите отобразить список, который будет генерироваться из моего словаря в соответствии со словом, введенным в текстовое поле, в виде таблицы и что представление таблицы должно находиться на том же контроллере представления, где у меня есть текстовое поле. Возможно ли это сделать. Я имею в виду, возможно ли создать табличное представление с возможностью прокрутки, чтобы пользователь мог прокручивать список, а затем выбирать нужное ему слово.Контроллер просмотра таблицы на контроллере вида

ответ

4

Да, это возможно. Возьмите IBOutlet для UITableView и подключите его. Определите его источник данных и передайте его контроллеру. Внедрите UITableViewDelegate на свой контроллер и переопределите все методы, такие как cellForRowAtIndex и другие.

//FilterDataViewController.h 
#import <UIKit/UIKit.h> 
@interface FilterDataViewController : UIViewController <UITableViewDelegate> 
{ 
    IBOutlet UITableView *tblView; 
    IBOutlet UITextField *txtFld; 

    NSMutableArray *arrSrch; 
    NSMutableArray *srchedData; 
} 
-(IBAction)srchBtnTapped:(id)sender; 
@end 

//FilterDataViewController.m 
#import "FilterDataViewController.h" 
@implementation FilterDataViewController 

-(IBAction)srchBtnTapped:(id)sender 
{ 
    if(![txtFld.text isEqualToString:@""]) 
    { 
     [srchedData removeAllObjects]; 
     for (NSString *allStrings in arrSrch) 
     { 
      NSComparisonResult result = [allStrings compare:txtFld.text options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch) range:NSMakeRange(0, [txtFld.text length])]; 
      if (result == NSOrderedSame) 
      { 
       [srchedData addObject:allStrings]; 
      } 
     } 
     [tblView reloadData]; 
    } 
} 

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
- (void)viewDidLoad { 
    [super viewDidLoad]; 

    arrSrch = [[NSMutableArray alloc] initWithObjects:@"One",@"One Two",@"Two",@"Three",@"Four",@"One Five",@"Six",nil]; 
    srchedData = [[NSMutableArray alloc] init]; 
} 

#pragma mark - 
#pragma mark Table view data source 

// Customize the number of sections in the table view. 
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 1; 
} 


// Customize the number of rows in the table view. 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return [srchedData count]; 
} 


// Customize the appearance of table view cells. 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    cell.textLabel.text = [srchedData objectAtIndex:indexPath.row]; 
    // Configure the cell. 

    return cell; 
} 

@end 
+0

может предоставить мне пример кода или учебника для этого, пожалуйста, – Christina

+0

@Christina вы можете следить http://chris-software.com/index.php/tag/uitableview/. Если вам нужна дополнительная помощь, пожалуйста, оставьте комментарий. Я подготовлю демо-версию для вас и опубликую ее. –

+0

так мило с вашей стороны, мне действительно нужна помощь, пожалуйста, дайте мне демонстрацию наличия табличного вида, а затем текстовое поле под ним, затем скопируйте некоторые значения и покажите их на табличном представлении, и это приложение предназначено для iPAD.please, если у вас есть время, пожалуйста, предоставьте мне это ....? – Christina

1

Это, безусловно, возможно. Создайте приложение на основе представления и поместите оба вида таблицы и текстовое поле в одно и то же представление, и вы сможете делать то, что вы планируете делать.

+0

я автоматически получу параметр прокрутки, или я должен сделать что-нибудь специальное ... – Christina

+0

вы получите свиток по умолчанию. – Krishnan

+0

может предоставить мне любой пример кода, если у вас есть что-то связанное с этим или какой-либо ссылкой, если вы знаете ... – Christina

Смежные вопросы