Как добавить элементы над UITableView, который анимирован - PullRequest
0 голосов
/ 05 июля 2011

По сути, я пытаюсь добавить представление над UITableView программно.Код ниже, анимирует UITableView на 150 пикселей, и я хотел бы добавить элементы в пространство, которое создается выше.Но всякий раз, когда я пытаюсь что-то добавить, например, метку в коде, она исчезает.Это UITableViewController, поэтому я думаю, что это может быть связано с ним.

Help!

- (IBAction)chooseCity:(id)sender {

[UIView beginAnimations:nil context: NULL];
[UIView setAnimationDuration:0.25];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
CGRect frame = self.tableView.frame;
if (frame.origin.y > 0) {
    frame.origin.y = 0;
} else {
    frame.origin.y += 150;        
}
[self.tableView setFrame:frame];
[UIView commitAnimations];

UILabel *testLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, -30, 200, 30)];
testLabel.text = @"Hello";
testLabel.backgroundColor = [UIColor redColor];
[self.view addSubview:testLabel];

}

Ответы [ 3 ]

1 голос
/ 05 июля 2011

Если вы хотите добавить UILabel в верхней части представления, вы можете добавить его в свойство tableHeaderView tableview,

Выделите UILabel и назначьте его tableHeaderView. Даже вы можете поместить эту часть в анимацию UIView, чтобы она анимировалась в соответствии с вашими требованиями.

1 голос
/ 05 июля 2011

вы можете использовать

UILabel *testLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, -30, 200, 30)];
testLabel.text = @"Hello";
testLabel.backgroundColor = [UIColor redColor];

tableView.tableHeaderView = testLabel;
[testLabel release];
//to add in footer tableView.tableFooterView = testLabel;

в зависимости от вашего состояния, вы можете установить его на ноль

tableView.tableHeaderView = testLabel;
0 голосов
/ 05 июля 2011

Будет ли реализация этого в

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    if (section == 0)
    {
        return someViewIWantInMyHeader;
    }

}

и

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (section == 0) {

         return someSize;
    }
}

не работать для вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...