上一节中我们讲到添加一个button并为其添加点击监听事件,上上一节中我们讲到添加一个textview并显示一串字符串,这一节我们把前面的内容连起来,改成点击button,然后就改变textview上的显示内容。
结合前两节的代码,其实很简单,主要是把textview定义到外面,让buton的监听事件函数里可以调用他,其次是在监听函数里添加改变的内容,直接上代码
bool isOn=1;
UITextView *textview1;
int clickNum=0;
@implementation ViewController
- (void) toggleButton: (UIButton *) button
{
if (isOn == 1)
{
[button setTitle:@"On" forState:UIControlStateNormal];
[button setTitle:@"On" forState:UIControlStateHighlighted];
//[button setBackgroundImage:baseGreen forState:UIControlStateNormal];
//[button setBackgroundImage:altGreen forState:UIControlStateHighlighted];
isOn=0;
}
else
{
[button setTitle:@"Off" forState:UIControlStateNormal];
[button setTitle:@"Off" forState:UIControlStateHighlighted];
//[button setBackgroundImage:baseRed forState:UIControlStateNormal];
//[button setBackgroundImage:altRed forState:UIControlStateHighlighted];
isOn=1;
}
clickNum++;
[textview1 setText:[NSString stringWithFormat:@"click times : %d ",clickNum] ];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
float capWidth = 110.0f;
//baseGreen = [[[UIImage imageNamed:@"green.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];
//baseRed = [[[UIImage imageNamed:@"red.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];
//altGreen = [[[UIImage imageNamed:@"green2.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];
//altRed = [[[UIImage imageNamed:@"red2.png"] stretchableImageWithLeftCapWidth:capWidth topCapHeight:0.0f] retain];
// 创建
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0.0f, 0.0f, 300.0f, 233.0f);
button.center = CGPointMake(160.0f, 140.0f);
// 设置aligment 属性
button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
button.titleLabel.textAlignment = UITextAlignmentCenter;
//设置title自适应对齐
button.titleLabel.lineBreakMode = UILineBreakModeWordWrap;
// 设置颜色和字体
[button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor lightGrayColor] forState:UIControlStateHighlighted];
button.titleLabel.font = [UIFont boldSystemFontOfSize:24.0f];
//设置title
[button setTitle:@"Off" forState:UIControlStateNormal];
[button setTitle:@"Off" forState:UIControlStateHighlighted];
//设置背景
//[button setBackgroundImage:baseGreen forState:UIControlStateNormal];
//[button setBackgroundImage:altGreen forState:UIControlStateHighlighted];
// 添加 action
[button addTarget:self action:@selector(toggleButton:) forControlEvents: UIControlEventTouchUpInside];
// 把button放入view
[self.view addSubview:button];
//定义一个textview
textview1 = [[UITextView alloc]init ];
//位置
textview1.frame = CGRectMake(0,20,100,50);
//背景颜色
textview1.backgroundColor = [UIColor blueColor];
//设置它显示的内容
textview1.text = @"hellow_iOS";
//将视图加到父视图中
[self.view addSubview:textview1];
}
这样,clickNum每次点击就会加一,并在textview上显示 当前点击了几次