2014-09-24 5 views
1

Я пытаюсь добавить нижний колонтитул в UITableView. Таблица представляет собой таблицу комментариев, а нижний колонтитул - это то, где пользователь вводит свои комментарии для публикации. Поэтому, естественно, я определяю UIView и внутри UIView, добавляю UITextField и UIButton. (слева направо).Родительский UIView, не содержащий/отсечения subviews

Проблема заключается в том, что UIView не охватывает представления детей. Я хочу, чтобы дети были вертикально центрированы внутри родительского нижнего колонтитула. Мой код ниже. Что я делаю не так? Прямо сейчас родительский вид отображается как тонкая плита в красном цвете. И перекрытие родителя - это UITextField и UIButon, которые больше по высоте, чем родительские.

- (UIView *)tableView:(UITableView *)tv viewForFooterInSection:(NSInteger)section 
{ 
    static UIView *footer =nil; 
    if (nil == footer) { 
     footer =[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 70)]; 
     footer.backgroundColor=[UIColor redColor]; 

     self.commentInputTextView=[[UITextView alloc]initWithFrame:CGRectMake(0, 0, 240, 50)]; 
     self.commentInputTextView.delegate=self; 
     self.commentInputTextView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0); 
     self.commentInputTextView.backgroundColor=[UIColor greenColor]; 
     [footer addSubview:self.commentInputTextView]; 

     UIButton *post = [[UIButton alloc] initWithFrame:CGRectMake(250, 0, 60, 50)]; 
     post.backgroundColor=[UIColor blueColor]; 
     [post setTitle:@"Post" forState:UIControlStateNormal]; 
     [footer addSubview:post]; 
     [footer sizeToFit]; 
    } 
    return footer; 
} 

ответ

7

Набор clipsToBounds Да

footer.clipsToBounds = YES; 

Документы по этому вопросу:

логическое значение, которое определяет, являются ли подвиды ограничивается пределах вида.

Декларация SWIFT вар clipsToBounds: Bool Objective-C @property (неатомической) BOOL clipsToBounds Обсуждение Установка значения ДА вызывает подвиды к обрезке пределы приемника. Если значение установлено в НЕТ, то подвыборы, чьи рамки выходят за пределы видимости , приемник не обрезается. Значение по умолчанию: NO.

Импорт Заявление импорта UIKit

Наличие Доступно в прошивкой 2.0 и более поздних версий.


соразмерять колонтитула, вы должны переопределить метод UITableViewDelegate для высоты нижнего колонтитула:

  • (CGFloat) Tableview: (UITableView *) Tableview heightForFooterInSection: (NSInteger) раздел Параметры tableView Объект table-view , запрашивающий эту информацию. раздел Индекс номер, определяющий раздел таблицыView. Возвращаемое значение Неотрицательное значение с плавающей точкой, определяющее высоту (в точках) нижнего колонтитула .

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewDelegate_Protocol/index.html#//apple_ref/occ/intfm/UITableViewDelegate/tableView:heightForFooterInSection:

+0

клипа пределов это хорошо, но тогда мои подвиды обнаруживаются в виде плит внутри родительской пощечины. Мне нужно, чтобы родительское представление развивалось, чтобы охватить детей. В любом случае, высота, которая отображается, может быть 10, а не 70. Как я могу исправить эту проблему? –

+0

@KatedralPillon обновленный ответ –

 Смежные вопросы

  • Нет связанных вопросов^_^