в конце этого примера. Я добавляю subviews в UIView, но отображается sub arent. UIView показывает (сделал это для теста синего цвета, и он был там). Если я возвращаю rowLabel или rowImage отдельно, они показываются. но не встроен в UIView. Есть идеи?UIPickerView не показывает добавленное subview в UIView
-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
NSDictionary *oneResultDict = [_postArray objectAtIndex:row];
NSData *tmpImageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:[oneResultDict objectForKey:@"thumbnail"]]];
UIImage *tmpImage = [UIImage imageWithData:tmpImageData];
UIImageView *rowImage = [[UIImageView alloc] initWithImage:tmpImage];
rowImage.frame = CGRectMake(0, 0, 60, 60);
UILabel *rowLabel = [[UILabel alloc]initWithFrame:CGRectMake(80, 0, 200, 60)];
rowLabel.text = [oneResultDict objectForKey:@"title"];
UIView *rowView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 160)];
[rowView insertSubview:rowImage atIndex:0];
[rowView insertSubview:rowLabel atIndex:1];
return rowView;
}
решена. «* RowView» был установлен на Y-height 160. Это было как-то большим. когда я опустил его до 80, все было в нужном месте. Теперь мне нужно выяснить, почему это происходит. Каково это правило? – iOSNoob
'UIView', отображающий возвращенный вид из вашего метода, может * закрепить * ваше представление, попробуйте установить флаг' clipsToBounds' на 'NO'. - Это не даст вам полного решения, которое я предполагаю, но это может помочь вам отладить проблему. –
Это была действительно высота y. ЕСЛИ я помещаю все y-высоты ... rowLabel, rowImage и rowView в тот же размер 60. Все работает нормально. clipsToBound тоже не работает. не имеет никакого эффекта. – iOSNoob