Как изменить цвет кнопки раскрытия деталей для ячейки таблицы
Я хочу изменить цвет кнопки раскрытия деталей ячейки таблицы. Заранее спасибо.
4 ответа
Решение
Вы должны создать пользовательский UIButton и установить его как accessoryView ячейки.
Ваш cellForRowAtIndexPath: будет выглядеть примерно так:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//...
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];
UIButton *myAccessoryButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 24, 24)];
[myAccessoryButton setBackgroundColor:[UIColor clearColor]];
[myAccessoryButton setImage:[UIImage imageNamed:@"my_red_accessory_image"] forState:UIControlStateNormal];
[cell setAccessoryView:myAccessoryButton];
[myAccessoryButton release];
//...
}
//...
}
Вы можете изменить цвет Global Tint. Это изменит цвет по умолчанию на цвет, который вы меняете в своем приложении. Это изменит цвет вспомогательной кнопки на выбранный вами цвет.
Как вы получили лучший код с собой от Саймона: я сделал следующее:
UIButton *trackImageOnMap=[[UIButton alloc] initWithFrame:CGRectMake(420, 5, 40, 50)];
[trackImageOnMap setImage:[UIImage imageNamed:@"track_map_icon.png"] forState:UIControlStateNormal];
[trackImageOnMap setTag:iId];
[trackImageOnMap addTarget:self action:@selector(trackImageOnMapButtonTouched:)forControlEvents:UIControlEventTouchDown];
[trackImageOnMap setContentMode:UIViewContentModeScaleToFill];
[cell setAccessoryView:trackImageOnMap];
это реализует некоторые дополнительные свойства наряду с требуемым.