Как создать страницу комментирования наподобие Instagram в объективе c - PullRequest
0 голосов
/ 08 мая 2018

Я создаю приложение для социальной сети, и мне нужна страница с комментариями, например, в Instagram или любом другом приложении, я попробовал следующее:

CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:_postsTableView];
NSIndexPath *indexPath = [_postsTableView indexPathForRowAtPoint:buttonPosition];

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
LikesViewController *controller = [storyboard instantiateViewControllerWithIdentifier:@"LikesViewController"];
controller.postid = postid[indexPath.row];

[self presentViewController:controller animated:NO completion:nil];

но мне нужен UITableView с нижним колонтитулом, который имеет UITextField, на странице должны отображаться предыдущие комментарии и есть возможность позволить пользователю добавлять новые комментарии, может кто-нибудь указать мне правильное направление? Заранее спасибо.

1 Ответ

0 голосов
/ 08 мая 2018

@ ViewDidLoad

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapReceived:)];
    [tapGestureRecognizer setDelegate:self];
    [self.view addGestureRecognizer:tapGestureRecognizer];

Отключить клавиатуру и завершить редактирование при нажатии снаружи

-(void)tapReceived:(UITapGestureRecognizer *)tapGestureRecognizer
{
    [self.view endEditing:YES];
}

Методы клавиатуры

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
    return YES;
}

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil];

    [self.view endEditing:YES];
    return YES;
}
- (void)keyboardDidShow:(NSNotification *)notification
{
    // Assign new frame to your view
    CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;

    [UIView animateWithDuration:0.1 animations:^{
        CGRect f = self.view.frame;
        f.origin.y = -keyboardSize.height + 180;
        self.view.frame = f;
    }];

}

-(void)keyboardDidHide:(NSNotification *)notification
{
    [UIView animateWithDuration:0.1 animations:^{
        CGRect f = self.view.frame;
        f.origin.y = 0.0f;
        self.view.frame = f;
    }];
}

Не стесняйтесь настраивать продолжительность анимации по своему усмотрению. Удачи

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