#objective-c #xcode
#objective-c #xcode
Вопрос:
У меня есть три строки, которые настроены программно. Я хочу разместить изображение только в первой строке табличного представления. Изображение должно занимать всю первую строку (по умолчанию не в левой части ячейки табличного представления)
Вот мой код:
- (CGFloat)tableView:(UITableView *)aTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
switch (indexPath.row)
{
case 1:
if(indexPath.row==1)
{
return 230.0; // first row is 123px high
}
default:
return 100.0; // all other rows are 40px high
}
}
-(void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
switch (indexPath.row) {
case 0:
break;
case 1:
if (indexPath.row==1) {
UIButton *button1=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button1 setFrame:CGRectMake(5, 10, 310, 40)];
[button1 setTitle:@"Give" forState:UIControlStateNormal];
[button1 addTarget:self action:@selector(give)
forControlEvents:UIControlEventTouchUpInside];
[button1.titleLabel setFont:[UIFont boldSystemFontOfSize:15]];
[button1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[cell.contentView addSubview:button1];
UIButton *button2=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button2 setFrame:CGRectMake(5, 60, 310, 40)];
[button2 setTitle:@"YouTube" forState:UIControlStateNormal];
[button2 addTarget:self action:@selector(Announcements)
forControlEvents:UIControlEventTouchUpInside];
[button2.titleLabel setFont:[UIFont boldSystemFontOfSize:15]];
[button2 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[cell.contentView addSubview:button2];
UIButton *button3=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button3 setFrame:CGRectMake(5, 110, 310, 40)];
[button3 setTitle:@"Follow us on Twitter" forState:UIControlStateNormal];
[button3 addTarget:self action:@selector(Twitter)
forControlEvents:UIControlEventTouchUpInside];
[button3.titleLabel setFont:[UIFont boldSystemFontOfSize:15]];
[button3 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[cell.contentView addSubview:button3];
UIButton *button4=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button4 setFrame:CGRectMake(5, 160, 310, 40)];
[button4 setTitle:@"Follow us on FaceBook" forState:UIControlStateNormal];
[button4 addTarget:self action:@selector(Facebook)
forControlEvents:UIControlEventTouchUpInside];
[button4.titleLabel setFont:[UIFont boldSystemFontOfSize:15]];
[button4 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[cell.contentView addSubview:button4];
/*[button1 release];
[button2 release];
[button3 release];
[button4 release];*/
}
break;
default:
break;
}
}
Ответ №1:
Вы можете добавить UIImageView в свой contentview.
Комментарии:
1. @saadnib: если я использую UIImageView, я получаю исключение ..code. NSString *imagefile=[[NSBundle mainBundle]pathForResource:@»guitar» OfType:@»jpg»]; UIImageView *li=[[Выделение UIImageView]initWithContentsOfFile:imagefile]; [cell.contentView добавляет SUBVIEW:li];
2. UIImageView *imgView = [[Выделение UIImageView] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 50.0f)]; [Изображение, установленное imgView: [UIImage imageNamed:@»guitar.jpg «]]; [cell.contentView добавляет SUBVIEW:imgView]; [Выпуск imgView];
3. @saadnib: спасибо, чувак … все работает нормально, но я получаю пиксели изображения broken…is любым способом
4. на самом деле пиксели вашего изображения повреждены, потому что изображение, которое у вас есть в вашем проекте, не такого размера, как кадр, который мы передаем в CGRectMake. Посмотрите на последние два параметра.