Изменить градиент цвета фона относительно значения UISlider, помещенного в TableViewCell - PullRequest
1 голос
/ 05 октября 2011

Я новичок в цели C. Я хочу изменить градиент цвета фона метки, помещенной в ячейку относительно UIslider, размещенного в той же ячейке. При перемещении ползунка слева направо градиент цвета фона должен измениться. Кто-нибудь может подсказать мне как это сделать ???

1 Ответ

0 голосов
/ 07 октября 2011

Этот код будет изменять альфа цвета фона UILabel в соответствии с изменением значения ползунка.

сначала вам нужно объявить ползунок в пользовательской ячейке.как описано ниже.

Объявление ползунка в ячейке SignUpCustomCell.h.

#import <UIKit/UIKit.h>
@interface SignUpCustomCell : UITableViewCell {
    UISlider* slider;
    UILabel *lblLeft;
}
@property(nonatomic,retain) UISlider* slider;
@property(nonatomic,retain)     UILabel *lblLeft;
@end

выделение памяти в файле SignUpCustomCell.m.

#import "SignUpCustomCell.h"
@synthesize slider,lblLeft;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if ((self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])) {

 slider=[[UISlider alloc]initWithFrame:CGRectMake(150, 5, 100, 25)];
    [slider setValue:0.0];
    slider.minimumValue=0;
    slider.maximumValue=1;
    [self.contentView addSubview:self.slider];

     self.lblLeft = [[UILabel alloc]init];
    self.lblLeft.font = [UIFont fontWithName:@"Helvetica-Bold" size:12];
    self.lblLeft.textColor = [UIColor colorWithRed:135.0/255.0 green:135.0/255.0 blue:135.0/255.0 alpha:1.0];
    self.lblLeft.backgroundColor = [UIColor greenColor];
    [self.lblLeft setTextAlignment:UITextAlignmentLeft];
    [self.contentView addSubview:self.lblLeft];
    [self.lblLeft release];



}
return self;
}

После создания настраиваемой ячейки. Выбудет использовать его там, где вы хотите.

Использовать обычную ячейку в RegistrationViewController.m.нам нужны следующие шаги.

#import "SignUpCustomCell.h"

Затем напишите код в cellForRowAtIndexPath.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{

static NSString *CellIdentifier = @"Cell";

SignUpCustomCell *cell = (SignUpCustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) 
{
    cell = [[[SignUpCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

}
cell.lblLeft.text=@"test app";
cell.slider.tag=indexPath.row;
[cell.slider addTarget:self action:@selector(sliedervalue:) forControlEvents:UIControlEventValueChanged];
return cell;
}

-(void)sliedervalue:(id)sender
{
UISlider* sl=(UISlider*)sender;

NSLog(@"sl=%d",sl.tag);
NSLog(@"sl_value=%f",sl.value);

NSIndexPath *indexPath=[NSIndexPath indexPathForRow:sl.tag inSection:0] ;
SignUpCustomCell *cell = (SignUpCustomCell*)[tblSignup cellForRowAtIndexPath:indexPath];

cell.lblLeft.alpha= sl.value;

}

Дайте мне знать, если у вас есть запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...