2014-11-30 4 views
0

Я просмотрел множество сообщений, и ни один из них не помогает в текущей проблеме, которую я испытываю. Я пытаюсь изменить цвет фона UIView и цвет текста UILabel программно нажатием кнопки. Все они подключены в интерфейсе. Что я сделал, так это открыть файл ViewController.h рядом с Main.storyboard и щелкнуть и перетащить, чтобы подключить представление (backgroundView) и метку (letterR).Невозможно изменить цвет фона UIView и цвет текста UILabel в iOS 8

Если кто-нибудь может видеть, что я делаю неправильно, это было бы здорово!

ViewController.h

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController{ 

    IBOutlet UIView *backgroundView; 
    IBOutlet UILabel *letterR; 
} 

@end 

ViewController.m

#import "ViewController.h" 

@interface ViewController() 
@end 

@implementation ViewController 

static int flag = 0; 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
} 

- (IBAction)ButtonClick:(id)sender { 

    if(flag == 0){ 

     flag = 1; 
     letterR.textColor = [UIColor blackColor]; 
     backgroundView.backgroundColor = [UIColor whiteColor]; 
    } 

    else if(flag == 1){ 

     flag = 0; 
     letterR.textColor = [UIColor whiteColor]; 
     backgroundView.backgroundColor = [UIColor colorWithRed:0 green:1 blue:1 alpha:1]; 
    } 
} 

@end 

При мониторинге выходной NSLog метки и фона этого является то, что я получаю:

Письмо R: 2014-11-26 15: 18: 18,358 Rave [3923: 340203] Буква R:>

Печать цвет письма: (нуль)

фона: 2014-11-26 15 : 18: 18,358 Rave [3923: 340203] фон:>

Печать цвет фона: 2014-11-26 15: 23: 13.467 Rave [3962: 342332] Цвет фона: UIDeviceRGBColorSpace 0 1 1 1

Также изменяется цвет фона, который не обновляется на экране симулятора.

ответ

0

Есть несколько вещей, которые могут быть неправильными. Вам нужно проверить несколько вещей, сначала связь между раскадрой (или Xib) и вашим контролером просмотров - это нормально. Хорошие вещи делают связь с фоном, все по коду. (Если вы добавляете другое представление внутри представления, чтобы удалить его, удалите его, если вы только просмотр в истории, это хорошо).

Попробуйте это в вашем коде:..

- (IBAction)ButtonClick:(id)sender { 

if(flag == 0){ 

    flag = 1; 
    letterR.textColor = [UIColor blackColor]; 
    self.view.backgroundColor = [UIColor whiteColor]; 
    NSLog(@"With flag=0, this is firing, The UILable is:%@",[letteR description]); 
} 

else if(flag == 1){ 

    flag = 0; 
    letterR.textColor = [UIColor whiteColor]; 
    self.view.backgroundColor = [UIColor colorWithRed:0 green:1 blue:1 alpha:1]; 
    NSLog(@"With flag=1, this is firing, The UILable is:%@",[letteR description]); 
} 
} 

Вы должны видеть, чем UILabel существует (и ответ не нулевая Ну, это точка начала, проверить этот комментарий для получения дополнительной помощи .

+0

Работал как очарование спасибо !! – user3459799

Смежные вопросы