0

以下のリンクを使用して、ボタンに色を適用しました。

http://www.cimgf.com/2010/01/28/fun-with-uibuttons-and-core-animation-layers/

上記をダイナミックボタンにどのように使用する必要がありますか?私のコードは:

int y=297;
for (int i=0; i < [phonesArray count]; i++) {
    NSLog(@"%d phone number is :%@",i,[phonesArray objectAtIndex:i]);

    UIButton *phoneButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [phoneButton setTitle:[phonesArray objectAtIndex:i] forState:UIControlStateNormal];
    [phoneButton addTarget:self action:@selector(dailPhoneNo:)  forControlEvents:UIControlEventTouchUpInside];
    phoneButton.frame = CGRectMake( 11, y, 278, 42);
    [scrollView addSubview:phoneButton];


    y=y+60;
}

私もこれを試しました:

ColorfulButton *phoneButton = [[ColorfulButton alloc] init]; 
[phoneButton setTitle:[phonesArray objectAtIndex:i] forState:UIControlStateNormal];
[phoneButton addTarget:self action:@selector(dailPhoneNo:) forControlEvents:UIControlEventTouchUpInside];
phoneButton.frame = CGRectMake( 11, y, 278, 42);
[phoneButton setHighColor:[UIColor redColor]];
[phoneButton setLowColor:[UIColor orangeColor]]; 
[scrollView addSubview:phoneButton]; 

ただし、ボタンはビューに表示されません。

4

2 に答える 2

0

これは私も長い間困惑していましたが、ちょうどそれを理解したので、私の解決策を公開すると思いました. CIMGF の ColorfulButton クラスは非常に優れていますが、プログラムで作成するのは簡単ではありません。

全体のプロセスを簡素化するために、ColorfulButton クラスに別のメソッドを追加しました。

ColorfulButton.h で

- (ColorfulButton *)initWithFrame:(CGRect)frame title:(NSString *)title tag:(NSInteger)tag;

ColorfulButton.m で

- (void)configureColors
{
    [self setHighColor:[UIColor whiteColor]];
    [self setLowColor:[UIColor grayColor]];
}

- (ColorfulButton *)initWithFrame:(CGRect)frame title:(NSString *)title tag:(NSInteger)tag
{
    self = [super init];
    self.frame = frame;
    [self setTitleColor:[UIColor colorWithRed:.196 green:0.3098 blue:0.52 alpha:1.0]    forState:UIControlStateNormal];
    [self setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
    [self.titleLabel setFont:[UIFont boldSystemFontOfSize:15.0f]];
    [self configureColors];
    [self awakeFromNib];    
    [self setTitle:title forState:UIControlStateNormal];
    self.tag = tag;

    return self;
}

私の呼び出し.mプログラムで

ColorfulButton *button = [[ColorfulButton alloc] initWithFrame:CGRectMake(70.0, 50.0, 100.0, 37.0) title:@"Category" tag:888];
[button addTarget:self
           action:@selector(setCategoriesPressed:)
    forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
于 2013-01-21T04:32:19.260 に答える
0
 [phoneButton setTitleColor:(UIColor *) forState:(UIControlState)];   
  [phoneButton setBackgroundColor:(UIColor *)];   
  [phoneButton setBackgroundImage:(UIImage *) forState:(UIControlState)];  
于 2012-07-02T09:37:28.567 に答える