English 中文(简体)
Table footer view buttons
原标题:

I have some signup form that had email and login text fields as table cells and signup button as button in footer view. That all functioned superb, here is the code

frame = CGRectMake(boundsX+85, 100, 150, 60);
    UIButton *signInButton = [[UIButton alloc] initWithFrame:frame];
    [signInButton setImage:[UIImage imageNamed:@"button_signin.png"] forState:UIControlStateNormal];
    [signInButton addTarget:self action:@selector(LoginAction) forControlEvents:UIControlEventTouchUpInside];

    self.navigationItem.hidesBackButton = TRUE;
    self.tableView.tableFooterView.userInteractionEnabled = YES;
    self.tableView.tableFooterView = signInButton;
    self.view.backgroundColor = [UIColor blackColor];

My question is how to add another button next to this one.

By using [self.tableView.tableFooterView addSubview:...] buttons are not shown and if I use some other UIView, place buttons there and then say that the footerView is that UIView, I see the buttons, but am unable to press them.

I hope that this isn t too confusing and that you understand my problem.

问题回答

your first try is wrong, if you are doing as you as saying you are trying to add a button to the subview of a button:

first you

... 
self.tableView.tableFooterView = signInButton;
...

and then later

... 
[self.tableView.tableFooterView addSubview:...]
...

but tableFooterView is signInButton. So that is why that is not working.

your second try is correct and the answer yonanderson pointed you should work out and is the correct way to do this, you just need to :

[yourButtonsView addSubView:button1];
[yourButtonsView addSubView:button2];
yourButtonsView.userInteractionEnabled = YES;
self.tableView.tableFooterView = yourButtonsView;
self.tableView.tableFooterView.userInteractionEnabled = YES;

Humm, I didn t read this close enough before answering. I think you need to set the container UIView s userInteractionEnabled property then as you tried, set the footerView to the container with the subviews.

It took me forever to figure out why my footer s buttons were not calling the designated actions. Finally I discovered that I needed to adjust my footer s height. This fixed it for me:

-(CGFloat) tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    return footerView.bounds.size.height;
}




相关问题
List Contents of Directory in a UITableView

I am trying to list the contents of Ringtones directory in a TableView, however, I am only getting the last file in the directory in ALL cells, instead of file per cell. This is my code: - (...

iPhone NSUserDefaults persistance difficulty

In my app i have a bunch of data i store in the NSUserdefaults. This information consists of an NSObject (Object1) with NSStrings and NSNumbers and also 2 instances of yet another object (Object2). ...

Writing a masked image to disk as a PNG file

Basically I m downloading images off of a webserver and then caching them to the disk, but before I do so I want to mask them. I m using the masking code everyone seems to point at which can be found ...

Resize UIImage with aspect ratio?

I m using this code to resize an image on the iPhone: CGRect screenRect = CGRectMake(0, 0, 320.0, 480.0); UIGraphicsBeginImageContext(screenRect.size); [value drawInRect:screenRect blendMode:...

Allowing interaction with a UIView under another UIView

Is there a simple way of allowing interaction with a button in a UIView that lies under another UIView - where there are no actual objects from the top UIView on top of the button? For instance, ...

热门标签