UIButton в заголовке UITableView не работает? - PullRequest
1 голос
/ 20 февраля 2011

Я добавил UIBUtton в заголовок UITableView, и он, похоже, не работает. Это кликабельно, но при подключении к нему IBAction происходит сбой и ничего не происходит.

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

Я также пытался поместить его в другой файл, но при этом он не позволит мне перетащить его в другой файл.

ФАЙЛЫ:

RootViewController.h RootViewController.m TableViewAppDelegate.h TableViewAppDelegate.m DetailViewController.h DetailViewController.m

RootViewController.h

@interface RootViewController : UITableViewController {
    NSMutableArray *listOfItems;
    Sqlite *database;
    NSTimer *myTimer;
    UITextView *myTextField;
}

- (IBAction)addAlbum;

RootViewController.m

#import "RootViewController.h"
#import "TableViewAppDelegate.h"
#import "DetailViewController.h"

@implementation RootViewController

// If a user adds a photo album
- (IBAction)addAlbum {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Add Gallery" message:@"this gets covered" delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:@"Ok", nil];
myTextField = [[UITextField alloc] initWithFrame:CGRectMake(12, 45, 260, 25)];
CGAffineTransform myTransform = CGAffineTransformMakeTranslation(0, -80);
[alert setTransform:myTransform];
[myTextField setBackgroundColor:[UIColor whiteColor]];
[alert addSubview:myTextField];
[alert show];
[alert release];
[alert setTag:1];
}

Любая помощь приветствуется! Спасибо.

1 Ответ

0 голосов
/ 20 февраля 2011

Если вы загружаете представление заголовка таблицы из .xib, сделайте «владельцем файла» из .xib вашего подкласса ViewController, представляющего UITableView, и подключите желаемое событие в кнопке к желаемому IBAction в владельце файла. Если вы создаете кнопку программно в методе tableView: viewForHeaderInSection:, вы должны самостоятельно подключить действие к кнопке, используя этот метод для объекта кнопки:

- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents

РЕДАКТИРОВАТЬ: вы должны опубликовать свой tableView: viewForHeaderInSection: код, чтобы мы могли дать более конкретный совет.

...