Родительский UIView, не содержащий / отсекающий подвиды
Я пытаюсь добавить нижний колонтитул к UITableView. Таблица-это таблица комментариев, а нижний колонтитул-это место, где пользователь вводит свои комментарии для публикации. Поэтому, естественно, я определяю UIView и внутри UIView я добавляю UITextField и UIButton. (слева направо).
Проблема в том, что 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;
}
1 ответ:
Установить
clipsToBounds
в YESfooter.clipsToBounds = YES;
Документы по этому вопросу:
Логическое значение, определяющее, ограничиваются ли вложенные представления границы вида.
Объявление SWIFT var clipsToBounds: bool OBJECTIVE-C @property (nonatomic) bool clipsToBounds Обсуждение установка этого значения "да" приводит к тому, что подвиды обрезаются до границ приемника. Если установите значение нет, подвиды, рамки которых выходят за видимые границы приемник не обрезан. Неисполнение ценности нет.
Оператор импорта import UIKit
Доступность доступна в iOS 2.0 и более поздних версиях.
Чтобы изменить размер нижнего колонтитула, необходимо переопределить метод
UITableViewDelegate
для высоты нижнего колонтитула:
- (CGFloat)tableView: (UITableView *) tableView heightForFooterInSection: (NSInteger)параметры раздела tableView объект табличного представления, запрашивающий эту информацию. раздел A индекс номер, идентифицирующий раздел tableView . Возвращаемое Значение неотрицательный значение с плавающей запятой, определяющее высоту (в пунктах) объекта нижний колонтитул для раздела.