【发布时间】:2014-11-30 18:33:58
【问题描述】:
我查看了很多帖子,但似乎都没有帮助解决我当前遇到的问题。我正在尝试通过单击按钮以编程方式更改 UIView 背景颜色和 UILabel 文本颜色。它们都在界面构建器中连接。我所做的是打开 Main.storyboard 旁边的 ViewController.h 文件,然后单击并拖动以连接视图(backgroundView)和标签(letterR)。
如果有人能看出我做错了什么,那就太感谢了!
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 狂欢[3923:340203] 字母 R: >
打印字母的颜色:(null)
背景: 2014-11-26 15:18:18.358 狂欢[3923:340203] 背景:>
打印背景颜色:2014-11-26 15:23:13.467 Rave[3962:342332] 背景颜色:UIDeviceRGBColorSpace 0 1 1 1
背景颜色也正在修改,只是没有在模拟器屏幕上更新。
【问题讨论】:
标签: ios objective-c iphone uiview uilabel