1

我在 UITableView 标头中添加了一个 UIBUtton ,但它似乎不起作用。它是可点击的,但是在将 IBAction 附加到它时,它会失败并且什么也不做。

我已经在线阅读并看到将其放入您的文件所有者中,但我不能这样做。当我把动作放进去时,它只会出现在我的 First Responder 中。

我也尝试将它放在另一个文件中,但是这样做时不会让我将它拖到另一个文件中。

文件:

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;

根视图控制器.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];
}

任何帮助表示赞赏!谢谢。

4

1 回答 1

0

如果您从 .xib 加载表头视图,请将 .xib 的“文件所有者”设为您的 ViewController 子类,以呈现 UITableView,并将按钮中的所需事件连接到文件所有者中所需的 IBAction。如果您在 tableView:viewForHeaderInSection: 方法中以编程方式创建按钮,则必须在按钮对象上使用此方法自己将操作连接到按钮上:

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

编辑:您应该发布您的 tableView:viewForHeaderInSection: 代码,以便我们提供更具体的建议。

于 2011-02-20T14:46:34.040 回答